LINUX.ORG.RU

[ruby] Как сделать так, чтобы после вывода переменной не делался переход на новую строку?

 


0

0
puts "Прмвет! Скажи для начала имя свое, я - робот, написанный на языке Ruby!"
name=gets
puts name+", спасибо!"

Надо, чтобы при выводе name и ", спасибо!" были на одной строчке.

★★

Последнее исправление: uju (всего исправлений: 3)
Ответ на: комментарий от uju

убирай из name последних 2 символа или получай строку в цикле через getc

derlafff ★★★★★
()
Ответ на: комментарий от uGin

Без последних двух символов — это вроде name[:-2] или name[..-2].

uGin
()
Ответ на: комментарий от twosev

puts name.chomp + ", спасибо!" ?

Простое и лаконичное решение, как раз в духе раби. Откуда вас таких берут?

In contrast, Ruby's 'print' function only prints out a newline if you specify one. For example, try out the following code. We include a newline at the end of print's argument list so that the shell prompt appears on a new line, after the text.

print "Say", "hello", "to", "the", "world", "\n"

Я вот раби в глаза не видел, но нашел это с первого запроса. Не гений ли я?

anonymous
()
Ответ на: комментарий от anonymous

Насколько я понял, символ новой строки у тс возникает между именем и «спасибой», а не в самом конце вывода. И возникает он потому, что gets так работает. Гугл сказал, что в таких ситуациях chomp решает. Встречный вопрос: откуда берутся такие гении? И, да, я видел руби несколько раз. Давно.

twosev ★★
()
Ответ на: комментарий от uju

Ты когда жмёшь на энтер, у тебя перевод строки попадает в переменную.

tensai_cirno ★★★★★
()

Не, я конечно понимаю все, но лор должен видеть весь процесс становления великого программиста?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.