Как я использую read_string неправильно? - PullRequest
0 голосов
/ 18 марта 2019

Эта программа предназначена для того, чтобы задать ряд вопросов, а затем отобразить введенную информацию обратно к ним.В предыдущей версии я использовал gets.chomp.to_s в разных местах, и это работало.Но после моего учителя я заменил число gets.chomp.to_s на read_string, и теперь моя программа не работает.

require 'date'
INCHEs = 0.393701

def main
  first_name = read_string ('What is your first name')
  puts 'Your name is ' + first_name + '!'
  puts 'What is your family name?'
  family_name = gets.chomp.to_s
  puts 'Your family name is: ' + family_name + '!'      
  puts 'What year were you born?'
  year_born = read_string('What year were you born?')
  year_born.to_i
  # Calculate the users age
  current_year = 2019
  age = current_year - year_born
  puts 'So you are ' + age.to_s + ' years old'          
  value_in_cms = read_string('Enter your height in cms (i.e as a float): ')
  value_in_cms.to_f
  value_in_inch = value_in_cms * INCHES
  puts 'Your height in inches is: '
  puts value_in_inch.to_s       
  answer = read_string('Do you wish to continue')
  case answer
  when 'y', 'yes', 'Yes', 'YES'
    true
    puts 'Okay let us continue'
  else
    false
    puts 'Okay, goodbye'
  end
end

main
puts ' '
puts main

Где я делаю ошибки?

Ответы [ 2 ]

1 голос
/ 18 марта 2019

Sidenote: to_s в gets.chomp.to_s является избыточным, поскольку gets всегда возвращает строку сама по себе.

То, что имел в виду ваш учитель, вероятно, вам следует извлечь несколько вызовов gets.chomp в метод и использовать этот метод везде вместо gets.chomp, как вы уже сделали:

def read_string(prompt)
  print(prompt + " ")
  gets.chomp
end

def main
  first_name = read_string('What is your first name')
  ...
end

Sidenote # 2: никогда не ставьте пробелы между именем метода и открывающей скобкой в ​​ruby.

1 голос
/ 18 марта 2019

Я думаю, тебе лучше уточнить со своим учителем. В рубине нет метода read_string. Возможно, ваш учитель хочет, чтобы вы обернули логику в методе read_string.

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