hash.to_s
đã thực sự được thay đổi 1.8.7
-1.9.3
.
Trong 1.8.7
, (ref: http://ruby-doc.org/core-1.8.7/Hash.html#method-i-to_s):
Chuyển đổi HSH thành một chuỗi bằng cách chuyển đổi băm để một mảng của [chính trị,] cặp và sau đó chuyển đổi mảng thành một chuỗi sử dụng mảng # tham gia với dấu phân cách mặc định.
Trong 1.9.3
, (ref: http://www.ruby-doc.org/core-1.9.3/Hash.html#method-i-to_s)
Khác cụm từ: kiểm tra
Bạn có thể khỉ vá lớp Hash trong 1.8.7 để làm điều tương tự tại địa phương như sau:
class Hash
alias :to_s :inspect
end
Trước khi vá khỉ:
1.8.7 :001 > {:k => 30}.to_s
=> "k30"
1.8.7 :002 > {:k => 30}.inspect
=> "{:k=>30}"
Khỉ-vá & sau:
1.8.7 :003 > class Hash; alias :to_s :inspect; end
=> nil
1.8.7 :004 > {:k => 30}.to_s
=> "{:k=>30}"
Nguồn
2013-02-19 12:23:30