Не удается напечатать данные в одной строке в ruby, даже с помощью print. Что следует использовать? - PullRequest
0 голосов
/ 20 сентября 2018

Я практикую проект в рубине.Я должен напечатать данные в следующем стиле:

   Doctor    Patient     Timing
   John K     Jerry    16:00 to 17:00

Мой код:

puts 'Enter Doctor\'s Name'
  @doc_name1 = gets
  if @doc_name1 == @doc_name
    puts "Doctor \t Patient \t Timing"
    print "#{@doc_name}\t #{@patient_name}\t"
    printf('%.2f', @from)
    print ' to '
    printf('%.2f', @to_time)
    puts
  else
    puts 'No such doctor available'
  end

Но он выводится следующим образом:

Doctor   Patient     Timing
Jim
     jerry
    16.00 to 17.00




Код работает нормально, если используется отдельно в другом файле.Что не так?

1 Ответ

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

Вам необходимо использовать chomp метод для удаления любых символов новой строки.

@doc_name1 = gets.chomp

И, так или иначе, @patient_name также имеет новые символы строки. Возможно, вы захотите также сжать это

print "#{@doc_name}\t #{@patient_name.chomp}\t"

Если вы хотите узнать, из чего именно состоит ваша строка, попробуйте метод inspect .

@doc_name.inspect
#=> "\"Jim\\n\""
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...