Ruby/Łańcuchy znakowe: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Szymon wro (dyskusja | edycje)
Nowa strona: == Łańcuchy znakowe == Ruby radzi sobie z łańcuchami znakowymi tak dobrze jak z danymi numerycznymi. Łańcuch może być ograniczony znakami cudzysłowu ("...") lub apostrofu ('.....
 
Linia 1:
== Łańcuchy znakowe ==
 
Ruby radzi sobie z łańcuchami znakowymi tak dobrze jak z danymi numerycznymi. Łańcuch może być ograniczony znakami podwójnego cudzysłowu ("...") lub apostrofupojedynczego (apostrof) ('...').
 
<pre>
Linia 10:
</pre>
 
Używanie podwójnych lub pojedynczych cudzysłowów w niektórych wypadkach ma różne efekty. Łańcuch ujęty w podwójny cudzysłów pozwala stosować znaki formatujące za pomocą odwróconego ukośnika oraz obliczać zagnieżdżone wyrażenia używając #{}. Łańcuch ujęty w apostrofy nie pozwala na takie interpretowanie; to co widzisz jest tym co dostajesz. Przykłady:
Double- and single-quoting have different effects in some cases. A double-quoted string allows character escapes by a leading backslash, and the evaluation of embedded expressions using #{}. A single-quoted string does not do this interpreting; what you see is what you get. Examples:
 
<pre>
ruby> puts "a\nb\nc"
a
Linia 34 ⟶ 35:
ruby> "1234#{var}5678"
"1234 abc 5678"
</pre>
 
Manipulowanie łańcuchami w Rubim jest sprytniejsze i bardziej intuicyjne niż w C. Dla przykładu, możesz łączyć ze sobą łańcuch używając +, a powtarzać łańcuch wiele razy za pomocą *:
Ruby's string handling is smarter and more intuitive than C's. For instance, you can concatenate strings with +, and repeat a string many times with *:
 
<pre>
ruby> "foo" + "bar"
"foobar"
ruby> "foo" * 2
"foofoo"
</pre>
 
Concatenating strings is much more awkward in C because of the need for explicit memory management: