функция печати в рубине - PullRequest
       1

функция печати в рубине

1 голос
/ 11 декабря 2010

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

print 'Enter your name : '
name = gets()
print("Hey,#{name} !")

Если я ввожу имя Джона Доу, вывод будет следующим:

Hey,John Doe
!

print в отличие от puts не выводит новую строку автоматически после вывода, но я заметил, что в приведенном выше случае все, что я ввожу после #{name}, печатается на новой строке.Почему это так?

Ответы [ 2 ]

5 голосов
/ 11 декабря 2010

gets() возвращает новую строку, вызванную нажатием клавиши ввода.Попробуйте name = gets().chomp обрезать его.

1 голос
/ 11 декабря 2010

Если вы работаете в OS X и запускаете это в irb, вы также можете набрать «Джон Доу», а затем дважды нажать control + d.

Я думаю, что эквивалентом для windows является control + z.

Кроме того, если вы сделали print name.inspect, то вы наверняка обнаружите, что name содержит символ новой строки - он напечатает "John Doe\n".

...