class Opal::Nodes::Args::ExtractRestarg
This node is responsible for extracting a splat argument from post-arguments
args_to_keep is the number of required post-arguments
def m(*a, b, c, d); end
becomes something like:
a = post_args[0..-3] post_args = post_args[-3..-1]
Public Instance Methods
compile()
click to toggle source
# File lib/opal/nodes/args/extract_restarg.rb, line 21 def compile # def m(*) # arguments are assigned to `$rest_arg` for super call name = self.name || '$rest_arg' add_temp name if args_to_keep == 0 # no post-args, we are free to grab everything push "#{name} = $post_args" else push "#{name} = $post_args.splice(0, $post_args.length - #{args_to_keep})" end end