Добрался
...' [] = ': не может изменить замороженную строку (TypeError)
когда попытка изменить, что я думал, была копией ARGV [0].
Те же результаты для каждого из
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'
так как Google потребовалось слишком много времени, чтобы найти правильный ответ ...
необходимо было сделать
arg_dup = ARGV[ 0 ].dup