Il existe plusieurs syntaxes pour le multi-ligne de chaînes que vous avez déjà lus. Mon préféré est Perl-style:
conn.exec %q{select attr1, attr2, attr3, attr4, attr5, attr6, attr7
from table1, table2, table3, etc, etc, etc, etc, etc,
where etc etc etc etc etc etc etc etc etc etc etc etc etc}
Le multi-ligne de chaîne de caractères commence par q%, suivie par un {, [ ou (et puis résilié par le correspondant inversée de caractère. q %ne permet pas de l'interpolation, %Q, donc vous pouvez écrire des choses comme ceci:
conn.exec %Q{select attr1, attr2, attr3, attr4, attr5, attr6, attr7
from #{table_names},
where etc etc etc etc etc etc etc etc etc etc etc etc etc}
En fait, j'ai aucune idée de la façon dont ces types de multi-ligne, les chaînes de caractères sont appelés donc, nous allons simplement appeler Perl multilines.
Notez cependant que si vous utilisez Perl multilines ou heredocs que Mark et Peter ont suggéré, vous vous retrouverez avec potentiellement inutiles espaces. À la fois dans mes exemples et leurs exemples, le "de" et "où" les lignes contiennent des espaces en raison de leur mise en retrait dans le code. Si cet espace n'est pas souhaitée, puis vous devez utiliser les chaînes concaténées comme vous le faites maintenant.