我正在努力替换字符串中的字符,将"cat"
更改为"hat"
。
这是我的代码:
str = "cat"
str[0] = 'h'
puts str
但是当我在TryRuby中运行此代码时,出现此错误:
NoMethodError:“猫”的未定义方法`[] ='
答案 0 :(得分:6)
我正在使用Try ruby的编辑器
ruby.github.io/TryRuby使用Opal(一种Ruby-to-JavaScript编译器)在浏览器中评估代码。 Opal提供了自己的String
类,但未实现[]=
。
(除其他外)这似乎是已知的限制。来自documentation :(添加了重点)
为了提高性能和简化运行时功能, Opal中的所有字符串都是不可变的,即#<<,#gsub!等不存在。
答案 1 :(得分:0)
您可以使用gsub方法并执行以下操作:
str = 'cat'
puts str.gsub(str[0], 'h')