Method: Delorean::ListComprehension#rewrite
- Defined in:
- lib/delorean/nodes.rb
#rewrite(context) ⇒ Object
734 735 736 737 738 739 740 741 742 743 744 745 |
# File 'lib/delorean/nodes.rb', line 734 def rewrite(context) res = ["(#{e1.rewrite(context)})"] unpack_vars = args.check(context) unpack_vars.each { |vname| context.parse_define_var(vname) } args_str = args.rewrite(context) res << ".select{|#{args_str}|(#{ifexp.e3.rewrite(context)})}" if defined?(ifexp.e3) res << ".map{|#{args_str}| (#{e2.rewrite(context)}) }" unpack_vars.each { |vname| context.parse_undef_var(vname) } res.sum end |