-
-
Save mrkn/2015322 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ /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: [] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ ~/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] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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