Ruby - can't modify frozen string (TypeError)

Got

... '[]=': can't modify frozen string (TypeError)

when trying to modify what I thought was a copy of ARGV[0].

Same results for each of

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'

since google took too long to find the right answer ...

needed to do

arg_dup = ARGV[ 0 ].dup

Since Ruby 2.3 recommended method is to use the unary plus operator, it will return a duplicated mutable string, if a string is frozen.

+arg