Method: Rewrite::ClassMethods#gensym
- Defined in:
- lib/rewrite.rb
#gensym ⇒ Object
Provide a symbol that is extremely unlikely to be used elsewhere.
Rewriters use this when they need to name something. For example, Andand converts code like this:
numbers.andand.inject(&:+)
Into:
lambda { |__1234567890__|
if __1234567890__.nil?
nil
else
__1234567890__.inject(&:+)
end
}.call(numbers)
It uses Rewrite.gensym to generate 1234567890.
75 76 77 |
# File 'lib/rewrite.rb', line 75 def gensym :"__#{Time.now.to_i}#{rand(100000)}__" end |