Rozbijanie długich ciągów na wielu liniach w Ruby bez usuwania nowych linii
Niedawno zdecydowaliśmy się w mojej pracy na przewodnik w stylu rubinowym. Jednym z edyktów jest to, że żadna linia nie powinna przekraczać 80 znaków. Ponieważ jest to projekt Rails, często mamy ciągi, które są nieco dłuższe - tzn.Użytkownik X chciał wysłać ci wiadomość o Thing Y„to nie zawsze mieści się w limicie 80 znaków.
Rozumiem, że istnieją trzy sposoby, aby ciąg długi obejmował wiele linii:
HEREDOC% Q {}Rzeczywista konkatenacja ciągu.Jednak wszystkie te przypadki kończą się większą liczbą cykli obliczeniowych, co wydaje się głupie. Konkatenacja łańcuchów oczywiście, ale dlaHEREDOC
i%Q
Muszę rozebrać linie, używając czegoś podobnego.gsub(/\n$/, '')
.
Czy jest to czysty sposób składniowy, który jest równoważny z posiadaniem całego ciągu w jednej linii? Celem jest oczywiście nie wydawanie dodatkowych cykli tylko dlatego, że chcę, aby mój kod był nieco bardziej czytelny. (Tak, zdaję sobie sprawę, że musisz zrobić dużo kompromisu ... ale dla długości łańcucha wydaje się to po prostu głupie.)
Aktualizacja: odwrotne ukośniki nie są dokładnie tym, czego chcę, ponieważ tracisz wcięcia, co naprawdę wpływa na styl / czytelność.
Przykład:
<code>if foo string = "this is a \ string that spans lines" end </code>
Uważam to za nieco trudne do odczytania.
EDYTOWAĆ: Dodałem odpowiedź poniżej; trzy lata później mamy teraz squiggly heredoc.