Как добавить дополнительный символ новой строки с помощью «Put», не вставляя символ новой строки в строку? - PullRequest
29 голосов
/ 12 марта 2009

Если я скажу

puts "Hello"

и решите добавить дополнительный перевод строки. Мне нужно сделать следующее:

puts "Hello\n"

Наличие этого символа в строке ужасно. Есть ли способ сделать это, не загрязняя мою строку?

Ответы [ 8 ]

45 голосов
/ 12 марта 2009

Просто позвоните еще раз puts:

puts "Hello"
puts
23 голосов
/ 17 марта 2009
puts "Hello",""
3 голосов
/ 25 февраля 2013

Я часто добавляю константу в ruby ​​для хранения этих символов

NEW_LINE = "\n"

puts "Hello" + NEW_LINE

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

2 голосов
/ 12 марта 2009

Причина, по которой Ruby использует «\ n» для перехода на новую строку, заключается в том, что он основан на C. Ruby MRI написан на C, и даже JRuby написан на Java, который основан на C ++ и C ... идея! Таким образом, все эти языки в стиле C используют «\ n» для новой строки.

Вы всегда можете написать свой собственный метод, который действует как put, но добавляет новые строки на основе параметра в метод.

2 голосов
/ 12 марта 2009

Как вы думаете, это выглядит лучше?


puts "Hello"+$/

1 голос
/ 24 апреля 2012

Вы можете просто написать

p "Hello"
p 

Это должно сработать, если вы хотите, чтобы оно было коротким и простым

0 голосов
/ 06 августа 2014

Что вы хотите исправить: вход для скрипта:

puts "Hello there"
puts "Goodbye"

Вывод из скрипта:

Hello thereGoodbye

Исправление проблемы: Вход для скрипта:

puts "Hello there"
puts
puts "Goodbye"

Вывод из скрипта:

Hello there
Goodbye
0 голосов
/ 12 марта 2009

Ну, я не думаю, что явный перевод строки ужасен. Ответ Mipadi также хорошо. Просто добавьте другой ответ, создайте массив строк, а затем присоедините массив к новой строке. :)

...