这段代码在Ruby 2.1上破解了
class Test
def to_s()
"hi"
end
end
puts [Test.new(), Test.new()].to_s
Run Code Online (Sandbox Code Playgroud)
Ruby 1.9.3:
$ ruby --version
ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-linux]
$ /opt/chef/embedded/bin/ruby test.rb
[hi, hi]
Run Code Online (Sandbox Code Playgroud)
Ruby 2.1:
$ ruby --version
ruby 2.1.4p265 (2014-10-27 revision 48166) [x86_64-linux]
$ ruby test.rb
[#<Test:0x000000022ac400>, #<Test:0x000000022ac3d8>]
Run Code Online (Sandbox Code Playgroud)
这是在某处记录的吗?如何保留旧的行为?