Я работаю над заменой символа в строке, меняя "cat" на "hat".
"cat"
"hat"
Вот мой код:
str = "cat" str[0] = 'h' puts str
Но когда я запускаю этот код в TryRuby , я получаю эту ошибку:
NoMethodError: неопределенный метод `[] = 'для" кошки "
Вы можете использовать метод gsub и сделать это так:
str = 'cat' puts str.gsub(str[0], 'h')
Я использую Try ruby editor
ruby.github.io / TryRuby использует Opal (компилятор Ruby-to-JavaScript) оценить код в браузере.Opal предоставляет свой собственный класс String, который не реализует []=.
String
[]=
Это, кажется, известное ограничение (среди прочих).Из документации : (выделение добавлено)
Для обеспечения быстродействия и простоты функций времени выполнения все строки в Opal неизменны , т.е. # <<, #gsub !, и т.д. не существует. </p>