Skip to content

Instantly share code, notes, and snippets.

@mrkn
Forked from myronmarston/1_8_7_Output.sh
Created March 11, 2012 06:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mrkn/2015322 to your computer and use it in GitHub Desktop.
Save mrkn/2015322 to your computer and use it in GitHub Desktop.
$ /usr/bin/ruby -v a.rb
ruby 1.8.7 (2010-01-10 patchlevel 249) [universal-darwin11.0]
Arguments received by method:
arg_1: [1, 2, 3]
arg_2: []
Arguments received by lambda:
arg_1: [1, 2, 3]
arg_2: []
Arguments received by proc:
arg_1: [1, 2, 3]
arg_2: []
Arguments received by class_exec:
arg_1: [1, 2, 3]
arg_2: []
Arguments received by instance_exec:
arg_1: [1, 2, 3]
arg_2: []
$ ~/src/ruby.git/.prefix/bin/ruby -v a.rb
ruby 2.0.0dev (2012-03-10 trunk 34964) [x86_64-darwin11.3.0]
Arguments received by method:
arg_1: [1, 2, 3]
arg_2: []
Arguments received by lambda:
arg_1: [1, 2, 3]
arg_2: []
Arguments received by proc:
arg_1: 1
arg_2: [2, 3]
Arguments received by class_exec:
arg_1: 1
arg_2: [2, 3]
Arguments received by instance_exec:
arg_1: 1
arg_2: [2, 3]
def foo(arg_1, *arg_2)
puts "Arguments received by method:"
puts "arg_1: #{arg_1.inspect}"
puts "arg_2: #{arg_2.inspect}"
end
foo([1, 2, 3])
puts
(lambda do |arg_1, *arg_2|
puts "Arguments received by lambda:"
puts "arg_1: #{arg_1.inspect}"
puts "arg_2: #{arg_2.inspect}"
end)[[1, 2, 3]]
puts
(proc do |arg_1, *arg_2|
puts "Arguments received by proc:"
puts "arg_1: #{arg_1.inspect}"
puts "arg_2: #{arg_2.inspect}"
end)[[1, 2, 3]]
puts
Class.class_exec([1, 2, 3]) do |arg_1, *arg_2|
puts "Arguments received by class_exec:"
puts "arg_1: #{arg_1.inspect}"
puts "arg_2: #{arg_2.inspect}"
end
puts
instance_exec([1, 2, 3]) do |arg_1, *arg_2|
puts "Arguments received by instance_exec:"
puts "arg_1: #{arg_1.inspect}"
puts "arg_2: #{arg_2.inspect}"
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment