繁体   English   中英

没有从 to_s 获得正确的输出

[英]Not getting correct output from to_s

Peter Cooper 的 Beginning Ruby 中的多态示例之一涉及to_s方法。 他举了这个例子:

puts 1000.to_s
puts [1, 2, 3].to_s
puts ({ :name => 'Fred', :age => 10 }).to_s

并将其显示为输出:

1000
123
age10nameFred

但我得到的输出是:

1000
[1, 2, 3]
{:name=>"Fred", :age=>10}

有谁知道为什么会这样? ruby 是否有变化,或者我做错了什么? 或者没有足够的信息来告诉? 我怎样才能找到它?

这些示例使用 ruby​​ 1.8.7,它有点过时了。 Ruby 1.9.3(当前版本)更改了数组和哈希的to_s实现。

编辑:看到Ruby 1.9 Array.to_s 的行为不同吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM