2010-02-05 29 views
50

Gotruby ​​- không thể sửa đổi chuỗi đông lạnh (TypeError)

... '[] =': không thể sửa đổi chuỗi đông lạnh (TypeError)

khi cố gắng thay đổi những gì Tôi nghĩ là một bản sao của ARGV [0].

kết quả tương tự cho mỗi

arg = ARGV[ 0 ] 
arg_cloned = ARGV[ 0 ].clone 
arg_to_s = ARGV[ 0 ].to_s 

arg[ 'x' ] = 'y' 
arg_cloned[ 'x' ] = 'y' 
arg_to_s[ 'x' ] = 'y' 

Trả lời

90

từ google mất quá lâu để tìm ra câu trả lời đúng ...

cần thiết để làm

arg_dup = ARGV[ 0 ].dup 
+13

Đúng vậy. Sao chép bản sao toàn bộ trạng thái của đối tượng, bao gồm cả trạng thái đóng băng. Dup sao chép thịt của vật thể mà không có những lá cờ khác. – Eli

+1

khá ngạc nhiên rằng .to_s không giống nhau (bao gồm cả đông lạnh) !? – Straff

+2

64 giây từ việc đăng câu hỏi của bạn, để tìm kiếm trên Google và bị kích thích khi đăng câu trả lời của bạn quá dài? :) – vgoff

Các vấn đề liên quan