Nous avons récemment décidé à mon travail d'un guide de style rubis. L'un des édits est qu'aucune ligne ne doit dépasser 80 caractères. Comme il s'agit d'un projet Rails, nous avons souvent des chaînes un peu plus longues - c'est-à-dire que «l' utilisateur X voulait vous envoyer un message sur la chose Y » qui ne correspond pas toujours à la limite de 80 caractères.
Je comprends qu'il y a trois façons d'avoir une longue chaîne de caractères sur plusieurs lignes:
- HEREDOC
- % Q {}
- Concaténation de chaîne réelle.
Cependant, tous ces cas finissent par prendre plus de cycles de calcul, ce qui semble idiot. Concaténation de chaîne évidemment, mais pour HEREDOC
et %Q
je dois supprimer les nouvelles lignes, via quelque chose comme .gsub(/\n$/, '')
.
Existe-t-il une méthode de syntaxe pure pour ce faire, qui équivaut à avoir simplement la chaîne entière sur une seule ligne? Le but étant évidemment de ne pas passer de cycles supplémentaires juste parce que je veux que mon code soit légèrement plus lisible. (Oui, je me rends compte que vous devez souvent faire ce compromis ... mais pour la longueur des cordes, cela semble tout simplement idiot.)
Mise à jour: les barres obliques inverses ne sont pas exactement ce que je veux, car vous perdez l'indentation, ce qui affecte vraiment le style / la lisibilité.
Exemple:
if foo
string = "this is a \
string that spans lines"
end
Je trouve ce qui précède un peu difficile à lire.
EDIT : J'ai ajouté une réponse ci-dessous; trois ans plus tard, nous avons maintenant l'hérédoc squiggly.
\n
caractères de nouvelle ligne ou non. La première réponse ne les garde pas, mais votre réponse le fait. La question dit "sans supprimer les retours à la ligne" - mais la description dit "[...] je dois supprimer les retours à la ligne".