Sử dụng Ruby 2.3:Tại sao khóa chuỗi này trong một băm được chuyển đổi thành một biểu tượng?
Ví dụ 1, khóa chuỗi "a"
được tự động chuyển đổi thành một biểu tượng, trong khi với ví dụ 2, nó vẫn là một chuỗi.
Ví dụ 1
{"a": 1}
# => {:a=>1}
Ví dụ 2
{"a"=>"c"}
# => {"a"=>"c"}
Tôi nghĩ :
cũng giống như phong cách cũ rocket băm =>
cú pháp. Chuyện gì vậy? Tại sao tôi chưa bao giờ nhận thấy điều này trong Rails? Có phải là HashWithIndifferentAccess
đang che khuất điều này không?
@Zabba Tại sao bạn cần phải thêm phiên bản đó? Nó chỉ hoạt động trong Rubys gần đây. Nếu OP cho biết nó hoạt động, nó đòi hỏi rằng nó là một phiên bản gần đây. – sawa
OP đã đề cập rằng phiên bản trong câu hỏi nên không thích hợp để xóa phiên bản đó vì việc xóa nó sẽ thay đổi ý nghĩa và ý định của câu hỏi, do đó, chỉ là bản gốc ở đây. – Zabba
Nó không phải là một khóa chuỗi, đó là một chìa khóa biểu tượng. Không có gì đang được thay đổi. –