Создание переменной путем добавления другой переменной и целого числа - PullRequest
0 голосов
/ 26 сентября 2018

Я пытаюсь создать простую программу на Ruby для обучения.Он запрашивает у вас номер.Он берет это число, добавляет к нему 1 и говорит, что это новое число лучше.

puts ‘hello, what is your favorite number?
fav = gets.to_i
puts fav + 1 ‘would be a better choice!’

Если я уберу слово «было бы лучшим выбором!»или поместите это в его собственную линию, это работает отлично.Я не могу понять, что я делаю не так в этом.

Спасибо за любую помощь в решении этого вопроса.

Ответы [ 2 ]

0 голосов
/ 27 сентября 2018

Это должно работать как ожидалось:

puts "hello, what is your favorite number?"
fav = gets.to_i
puts "#{fav + 1} would be a better choice!"
0 голосов
/ 27 сентября 2018

Это ваш код:

puts ‘hello, what is your favorite number?
fav = gets.to_i
puts fav + 1 ‘would be a better choice!’

Первое, что выключено, это отсутствие закрывающей кавычки в первой строке.Следующая вещь, которая должна быть изменена и вызывает ошибку:

fav + 1 'would be a better chocice!'

fav - это целое число, так же как и 1, так что все в порядке, но просто запись строки после этого вызоветошибка.Поэтому мы должны сказать Ruby, что хотим объединить int и строку, и мы делаем это со знаком плюс (+).Но попытка объединить int со строкой приведет к ошибке String can't be coerced into Integer.Поэтому нам нужно как-то преобразовать int в строку.И мы делаем это, используя метод #to_s, который возвращает строковое представление целого числа, которое приводит нас к:

puts 'hello, what is your favorite number?'
fav = gets.to_i
puts (fav + 1).to_s + ' would be a better choice!'

Однако, изменяя последнюю строку для использования интерполяции строки:

puts "#{fav + 1} would be a better choice!"

Был бы (как сказал Крис в разделе комментариев) идиоматический способ Ruby сделать это.

Я бы также рекомендовал вам взглянуть на вики-тег Ruby и проверить все доступные ресурсы на Ruby, поскольку онидаст вам лучшую кривую обучения, чем просто практиковать случайные методы и прочее самостоятельно.Удачи!

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