web-dev-qa-db-fra.com

Comment ajouter une nouvelle ligne avec 'met' sans insérer de caractère de nouvelle ligne dans une chaîne?

Si je dis

puts "Hello"

et décide d'ajouter une nouvelle ligne dont j'ai besoin:

puts "Hello\n"

Avoir ce caractère dans la chaîne est moche. Est-il possible de le faire sans polluer ma chaîne?

28
Tim

Il suffit de faire un autre appel à puts:

puts "Hello"
puts
44
mipadi
puts "Hello",""
23
Michiel de Mare

Je me retrouve souvent en ajoutant une constante dans Ruby pour contenir ces caractères

NEW_LINE = "\n"

puts "Hello" + NEW_LINE

Je pense que cela est plus lisible et facilite le changement de tous les caractères de nouvelle ligne si quelqu'un décide de séparer chaque ligne par quelque chose d'autre ultérieurement.

3
Anthony

Pensez-vous que cela a l'air plus joli?


puts "Hello"+$/

</ evil>

2
Geo

La raison pour laquelle Ruby utilise "\ n" pour une nouvelle ligne est qu’elle est basée sur C. Ruby MRI est écrit en C et même JRuby est écrit en Java, qui est basé sur C++ et basé sur C ... vous avez une idée! Donc, tous ces langages de style C utilisent le "\ n" pour la nouvelle ligne.

Vous pouvez toujours écrire votre propre méthode qui agit comme une option mais ajoute de nouvelles lignes basées sur un paramètre de la méthode.

2
Lennie

vous pouvez simplement écrire 

p "Hello"
p 

Cela devrait fonctionner aussi bien si vous voulez rester bref et simple

1
cjl5108

Ce que vous souhaitez corriger: Entrée pour le script:

puts "Hello there"
puts "Goodbye"

Sortie du script:

Hello thereGoodbye

Correction du problème: Entrée pour le script:

puts "Hello there"
puts
puts "Goodbye"

Sortie du script:

Hello there
Goodbye
0
Nathan

Eh bien, je ne pense pas qu'une nouvelle ligne explicite soit laide. La réponse de Mipadi est très bien aussi. Juste pour jeter une autre réponse, faites un tableau des lignes puis joignez le tableau avec une nouvelle ligne. :)

0
EBGreen