Wyświetl na ektranie łańcuch znaków otoczony podwójnymi cudzysłowami "
. Użyj znaku w-tył-ciach \
aby wprowadzić znaki specjalne, np.:
\n
- znak nowej linii\t
- znak tabulacji poziomej\v
- znak tabulacji pionowejPrzykład
puts "Ala ma kota.\nAnia ma psa."
Wyświetl łańcuch znaków otoczony pojedynczymi cudzysłowami '
. Sprawdź działanie znaku \
.
Przykład
puts 'Ala ma kota.\nAnia ma psa.'
Stwórz napis który wyświetla się w trzech liniach.
Stwórz napis w którym występuje podwójny cudzysłów.
W Rubim aby wstawić wartość zmiennej do łańcucha można użyć interpolacji. Korzystając z sekwencji #{} można do łańcucha wstawić dowolny kod Rubiego.
Sprawdź działanie interpolacji z wykorzystaniem zmiennych.
Przykład
imie = "Aniu"
puts "Witaj #{imie}"
Podobny efekt można uzyskać za pomocą operatora dodawania +
.
Przykład
imie = "Aniu"
puts "Witaj " + imie
Istnieje jednak istotna różnica pomiędzy tymi narzędziami. W przypadku interpolacji zawsze niejawnie następuje zamiana wartości na łańcuch znaków. W przypadku dodawania nic takiego się nie dzieje, więc wartość musi już być łańcuchem.
Spróbuj wykonać następujący kod:
imie = "Aniu"
puts "Witaj " + imie
liczba = 2
puts "Witaj " + liczba
Aby weliminować występujący problem, konieczne jest wcześniejsze zamienienie liczby na łańcuch znaków.
Służy do tego metoda to_s
.
Przykład
liczba = 2
puts "Witaj " + liczba.to_s
W przypadku interpolacji metoda to_s
jest wywoływana niejawnie. Jeśli zatem umieszczasz wartości różnych zmiennych w napisie,
prościej jest użyć interpolacji.
Jednakże interpolacja nie działa w przypadku łańcuchów otoczonych pojedynczymi cudzysłowami.
Przykład
liczba = 2
puts 'Witaj #{liczba}'
Obliczy wynik podzielenia 777 przez 11. Wynik wyświetl w postaci komunikatu: "Wynik dzielenia 777 przez 11 to:..."
Czasami w programie przydatne jest użycie łańcucha składającego się z wielu wierszy. Można to zrobić następująco:
napis = "Ala ma kota.\nAnia ma psa.\nOla ma szynszyle"
Wygodniej jest jednak użyć dokumentów zagnieżdżonych. Dokument taki zaczyna się od sekwencji <<
, po której pojawia się łańcuch znaków, oznaczający koniec - znacznik końca. Cały tekst, aż do wystąpienia znacznika końca, traktowany jest jak pojedynczy łańcuch oddzielony znakami nowej linii.
Przykład
tekst = <<END_OF_STRING
Remember those walls I built?
Well, baby they're tumbling down
And they didn't even put up a fight
They didn't even make a sound
I found a way to let you in
But, I never really had a doubt
Standing in the light of your halo
I got my angel now
END_OF_STRING
puts tekst
Ważna uwaga - interpolacja działa również wewnątrz dokumentów zagnieżdżonych.
Poza dodawaniem, łańcuchy można również mnożyć, konkatenować (wydłużać) oraz formatować.
Mnożenie polega na zwielokrotnieniu zawartości łańcucha:
puts "Ala " * 3
Wyświetl tabelkę o postaci
+---------+
| |
| |
+---------+
składającą się z 10 kolumn i 5 linii (nie licząc obramowania). Wykorzystaj do tego operację mnożenia. Aby potórzyć jakąś operację możesz skorzystać z poniższego kodu:
3.times{ puts "x" }
Kontatenowanie polega na doklejaniu treści do łańcucha, który jest przypisany do zmiennej:
tekst = "Remember those walls I built? "
tekst << "Well, baby they're tumbling down"
puts tekst
Użycie operatora +
w tym wypadku nie dałoby takiego efektu:
tekst = "Remember those walls I built? "
tekst + "Well, baby they're tumbling down"
puts tekst
Formatowanie jest zaś analogiczne do działania funkcji printf
w jęcyku C:
puts "Liczba %.2f" % 3.567891
Uwaga podobnie jak w języku C, formatowanie powoduje zaokrąglenie wartości liczby.
Wyświetl wartość "1.55555555" z dokładnością do trzech miejsca po przecinku.