Więc podążam za tutorialem Ruby: Learn Ruby the Hard Way.Ruby - jaka jest różnica między pojedynczym a podwójnym cudzysłowem?
W ćwiczeniu 16 (połączonym powyżej), piszesz skrypt, który zapisuje linie do pliku. Odpowiedni kod jest:
print "line 1: "; line1 = STDIN.gets.chomp()
print "line 2: "; line2 = STDIN.gets.chomp()
print "line 3: "; line3 = STDIN.gets.chomp()
puts "I'm going to write these to the file."
target.write(line1)
target.write("\n")
target.write(line2)
target.write("\n")
target.write(line3)
target.write("\n")
Jednakże, będąc leniwy bum, że jestem, pierwotnie wpisany na przykład za pomocą apostrofów w ciągu ostatnich sześciu linii, zamiast cudzysłowach samouczek mówi do użycia.
To miało wpływ na plik. Kiedy stosować apostrofów plik wyglądał następująco:
this is line 1\nthis is line 2\nthis is line 3
Po włączeniu tych cytatów do podwójnych cudzysłowów, plik wyglądał zgodnie z oczekiwaniami:
this is line 1
this is line 2
this is line 3
Czy ktoś może mi powiedzieć dokładnie, dlaczego tak jest? Czy ciągi o pojedynczych cudzysłowach po prostu ignorują znaki specjalne, takie jak \n
lub \t
?
Tak, masz rację –
* Naprawdę * leniwi ludzie nie wpisują kodu, kopiują/wklejają. :) –
Jestem zaskoczony, że samouczek, w którym otwierasz pliki i piszesz do nich, nie zabrałby czasu gdzieś po drodze, żeby wyjaśnić działanie łańcucha. –