Это фрагмент из большого куска кода:Почему? бросая ошибку аргумента?
print "> "
$next_move = gets.chomp
case $next_move.include?
when "instructions"
puts "$next_move is instructions"
else
puts "$next_move is NOT instructions"
end
Everytime я запустить его в терминале, правильно ли я с помощью рубин 1.8.7, 1.9.3 или 2.0.0, я получаю следующая ошибка:
test.rb:4:in `include?': wrong number of arguments (0 for 1) (ArgumentError)
from test.rb:4
Этот код работал прошлой ночью на другом компьютере.
Не include?
проверяет содержимое этой глобальной переменной? Какой еще аргумент я должен передать ему?
Я немного зациклен здесь, тем более, что все, что я сделал, это переместить код с одного компьютера на другой.
«Этот код работал прошлой ночью на другом компьютере». ошибка ... нет. :-) Скорее, 'case" next_move ".include? «инструкции», или «case» next_move «когда« инструкции »'. –
Будьте очень осторожны, используя глобальные переменные: '$ next_move'. Они редко нужны в коде Ruby и, в большинстве случаев, являются предупреждающим знаком о том, что вы делаете что-то неправильно. –
@tinman, спасибо. С тех пор я улучшил свое кодирование, чтобы избежать их. Это упражнение с нескольких недель назад, которое все еще озадачивает меня. Несмотря на то, что Денис не верит мне, честно говоря, все, что я сделал, это запустить код на другом компьютере, и внезапно все, что сработало, больше не работает ... – user2448377