/ / Potrójny pojedynczy cytat a potrójny podwójny cudzysłów w Ruby - rubin, uciekający

Potrójny pojedynczy cudzysłów vs potrójny podwójny cudzysłów w Ruby - rubin, uciekający

Dlaczego możesz użyć """ zamiast """, jak w Dowiedz się Ruby the Hard Way, Rozdział 10 Study Drills?

Odpowiedzi:

7 dla odpowiedzi № 1

W Ruby nie ma potrójnych cytatów.

Dwa String literały, które są zestawione, są analizowane jako pojedynczy String dosłowny. Więc,

"Hello" "World"

jest taki sam jak

"HelloWorld"

I

"" "Hello" ""

jest taki sam jak

"""Hello"""

jest taki sam jak

"Hello"

Nie ma specjalnych reguł dla potrójnych pojedynczych cudzysłowów a potrójnych podwójnych cudzysłowów, ponieważ tam nie są potrójne cytaty. Zasady są po prostu takie same, jak w przypadku ofert.


2 dla odpowiedzi nr 2

Zakładam, że autor pomylił Ruby i Pythona, ponieważ potrójny cytat nie zadziała w Rubim tak, jak sądzili, autor. Będzie działać jak trzy oddzielne ciągi ("" "" "").

W przypadku ciągów wieloliniowych można użyć:

%q{
your text
goes here
}
=> "n     your textn     goes heren    "

lub %Q{} jeśli potrzebujesz interpolacji ciągów w środku.


1 dla odpowiedzi nr 3

Potrójne cytaty """ są takie same, jak pojedyncze cudzysłowy " w tym, że nie interpolują żadnego #{} sekwencje, znaki ucieczki (np. "n") itd.

Triple-double-quotes (ugh) """ są takie same jak podwójne cudzysłowy " w tym, że robią sekwencje interpolacji i ucieczki.

To dalej na tej samej stronie, którą połączyłeś.

Wersje potrójnie cytowane """ """" pozwala na wieloliniowe ciągi ... tak samo jak cytowane pojedynczo " i ", więc nie wiem, dlaczego oba są dostępne.