Created
August 4, 2011 21:10
-
-
Save cwgem/1126294 to your computer and use it in GitHub Desktop.
Symbol.to_proc inconsistencies
This file contains 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 mymeth | |
puts "Hello" | |
end | |
puts :mymeth.to_proc.call | |
#SOLAR:~ chriswhite$ ruby -v | |
#rubinius 1.2.5dev (1.8.7 1b8a960a yyyy-mm-dd JI) [x86_64-apple-darwin10.8.0] | |
#SOLAR:~ chriswhite$ ruby test_proc.rb | |
#Hello | |
#nil | |
#SOLAR:~ chriswhite$ ruby -v | |
#jruby 1.6.3 (ruby-1.8.7-p330) (2011-07-07 965162f) (Java HotSpot(TM) 64-Bit Server VM 1.6.0_26) [darwin-x86_64-java] | |
#SOLAR:~ chriswhite$ ruby test_proc.rb | |
#ArgumentError: no receiver given | |
# call at org/jruby/RubyProc.java:268 | |
# call at org/jruby/RubyProc.java:228 | |
# (root) at test_proc.rb:5 | |
#SOLAR:~ chriswhite$ ruby -v | |
#ruby 1.9.3dev (2011-07-31) [x86_64-darwin10.8.0] | |
#SOLAR:~ chriswhite$ ruby test_proc.rb | |
#test_proc.rb:5:in `call': no receiver given (ArgumentError) | |
# from test_proc.rb:5:in `<main>' | |
def mymeth | |
puts "Hello" | |
end | |
puts :mymeth.to_proc.call nil | |
#SOLAR:~ chriswhite$ ruby -v | |
#rubinius 1.2.5dev (1.8.7 1b8a960a yyyy-mm-dd JI) [x86_64-apple-darwin10.8.0] | |
#SOLAR:~ chriswhite$ ruby test_proc.rb | |
#Hello | |
#nil | |
#SOLAR:~ chriswhite$ ruby -v | |
#jruby 1.6.3 (ruby-1.8.7-p330) (2011-07-07 965162f) (Java HotSpot(TM) 64-Bit Server VM 1.6.0_26) [darwin-x86_64-java] | |
#SOLAR:~ chriswhite$ ruby test_proc.rb | |
#Hello | |
#nil | |
#SOLAR:~ chriswhite$ ruby -v | |
#ruby 1.9.3dev (2011-07-31) [x86_64-darwin10.8.0] | |
#SOLAR:~ chriswhite$ ruby test_proc.rb | |
#test_proc.rb:31:in `call': private method `mymeth' called for nil:NilClass (NoMethodError) | |
# from test_proc.rb:31:in `<main>' | |
def mymeth(name) | |
puts "Hello #{name}" | |
end | |
puts :mymeth.to_proc.call nil, "John" | |
#SOLAR:~ chriswhite$ ruby -v | |
#rubinius 1.2.5dev (1.8.7 1b8a960a yyyy-mm-dd JI) [x86_64-apple-darwin10.8.0] | |
#SOLAR:~ chriswhite$ ruby test_proc.rb | |
#Hello John | |
#nil | |
#SOLAR:~ chriswhite$ ruby -v | |
#jruby 1.6.3 (ruby-1.8.7-p330) (2011-07-07 965162f) (Java HotSpot(TM) 64-Bit Server VM 1.6.0_26) [darwin-x86_64-java] | |
#SOLAR:~ chriswhite$ ruby test_proc.rb | |
#Hello John | |
#nil | |
#SOLAR:~ chriswhite$ ruby -v | |
#ruby 1.9.3dev (2011-07-31) [x86_64-darwin10.8.0] | |
#SOLAR:~ chriswhite$ ruby test_proc.rb | |
#test_proc.rb:55:in `call': private method `mymeth' called for nil:NilClass (NoMethodError) | |
# from test_proc.rb:55:in `<main>' | |
p (1..3).collect(&:to_s.to_proc) | |
#SOLAR:~ chriswhite$ ruby -v | |
#rubinius 1.2.5dev (1.8.7 1b8a960a yyyy-mm-dd JI) [x86_64-apple-darwin10.8.0] | |
#SOLAR:~ chriswhite$ ruby test_proc.rb | |
#["1", "2", "3"] | |
#SOLAR:~ chriswhite$ ruby -v | |
#jruby 1.6.3 (ruby-1.8.7-p330) (2011-07-07 965162f) (Java HotSpot(TM) 64-Bit Server VM 1.6.0_26) [darwin-x86_64-java] | |
#SOLAR:~ chriswhite$ ruby test_proc.rb | |
#["1", "2", "3"] | |
#SOLAR:~ chriswhite$ ruby -v | |
#ruby 1.9.3dev (2011-07-31) [x86_64-darwin10.8.0] | |
#SOLAR:~ chriswhite$ ruby test_proc.rb | |
#["1", "2", "3"] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment