TryRuby вызывает неопределенный метод `[] = 'для String - PullRequest
0 голосов
/ 25 июня 2018

Я работаю над заменой символа в строке, меняя "cat" на "hat".

Вот мой код:

str = "cat"
str[0] = 'h'
puts str 

Но когда я запускаю этот код в TryRuby , я получаю эту ошибку:

NoMethodError: неопределенный метод `[] = 'для" кошки "

Ответы [ 2 ]

0 голосов
/ 25 июня 2018

Вы можете использовать метод gsub и сделать это так:

str = 'cat'

puts str.gsub(str[0], 'h')
0 голосов
/ 25 июня 2018

Я использую Try ruby ​​editor

ruby.github.io / TryRuby использует Opal (компилятор Ruby-to-JavaScript) оценить код в браузере.Opal предоставляет свой собственный класс String, который не реализует []=.

Это, кажется, известное ограничение (среди прочих).Из документации : (выделение добавлено)

Для обеспечения быстродействия и простоты функций времени выполнения все строки в Opal неизменны , т.е. # <<, #gsub !, и т.д. не существует. </p>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...