得到

... '[]=':无法修改冻结字符串(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'

推荐答案

因为谷歌花了太长时间才找到正确答案...

需要做什么

arg_dup = ARGV[ 0 ].dup

Ruby相关问答推荐

使用Mac命令行解密用Ruby加密的Zip

数组上的Ruby#unionreact 非常奇怪

Ruby中链表大小调用的时间复杂度

.nil?、.blank? 之间的区别?和.empty?

从 ruby​​ 脚本运行另一个 ruby​​ 脚本

Ruby 相当于 Groovy 的 Elvis (?:) 运算符?

如何在新行之间拆分字符串并保留空白行?

使用 Ruby 将文件从一个目录复制到另一个目录

在 Ruby 中生成一个后台进程

Rails 控制台中没有数据库连接

class_eval <<-"end_eval", __FILE__, __LINE__ 在 Ruby 中是什么意思?

什么时候在 Ruby 中使用 Struct 比使用 Hash 更好?

如果尚未定义,则设置 Ruby 变量

需要必要的库和/或头文件时如何安装 ruby​​-debug

`respond_to?` 与 `respond_to_missing?`

如何通过反射获得活动记录关联

Mustache Templates 可以做模板扩展吗?

to_proc 方法是什么意思?

如何在 Ruby 中将时间四舍五入到最接近的 15 分钟?

将浮点数舍入到Ruby中最接近的整数