Bug #10997
Updated by nobu (Nobuyoshi Nakada) about 9 years ago
i used with Rails console **Only String is great** ```ruby ``` original = "a" #=> "a" clone = original.clone #=> "a" clone.prepend("prepend_") #=> "prepend_a" clone #=> "prepend_a" original #=> "a" ``` **but String in Hash then get some issue** ```ruby ``` original = { a: "a" } #=> {:a=>"a"} clone = original.clone #=> {:a=>"a"} clone[:a].prepend("prepend_") #=> "prepend_a" clone #=> {:a=>"prepend_a"} original #=> {:a=>"prepend_a"} ``` i expect `original` to `{:a=>"a"}` **and when you use literal then works** ```ruby ``` original = { a: "a" } #=> {:a=>"a"} clone = original.clone #=> {:a=>"a"} clone[:a] = "prepend_#{clone[:a]}" #=> "prepend_a" clone #=> {:a=>"prepend_a"} original #=> {:a=>"a"} ``` `<<` has same issue too.