Ruby:
Łączenie łańcuchów znaków
Jak to zrobić:
# Operator plus (+) do łączenia stringów
powitanie = "Cześć, " + "jak " + "się masz?"
puts powitanie
#=> Cześć, jak się masz?
# Interpolacja stringów z użyciem #{}
imie = "Ania"
powitanie = "Hej, #{imie}!"
puts powitanie
#=> Hej, Ania!
# Metoda concat
tekst = "Warszawa"
tekst.concat(" to", " moje", " miasto")
puts tekst
#=> Warszawa to moje miasto
# Operator shovel (<<), nazywany też operatorem łopatki
powitanie = "Witaj"
powitanie << " w " << "świecie Ruby!"
puts powitanie
#=> Witaj w świecie Ruby!
Wgłębiamy się
Konkatenacja stringów nie zawsze była tak wydajna jak obecnie. Historycznie, każde użycie +
tworzyło nowy obiekt w pamięci, co zużywało zasoby przy dużych lub wielokrotnych konkatenacjach. Ruby 1.9 wprowadziło zmiany w tym zakresie, optymalizując działanie. Alternatywą do +
jest używanie metod concat
lub <<
, które zmieniają obiekt bezpośrednio, nie tworząc niepotrzebnie nowych. W wypadku dużych ilości danych może to znacząco wpłynąć na wydajność. Interpolacja jest zwykle najszybsza i najbardziej polecana, zwłaszcza gdy pracujemy z symbolami oraz zmiennymi.
Zobacz również
- Ruby Documentation on String: https://ruby-doc.org/core/String.html
- “Effective Ruby” by Peter J. Jones – zawiera rozdział o przetwarzaniu stringów.
- Ruby Style Guide: https://rubystyle.guide/#string-interpolation - omawia konwencje związane z stylami łączenia stringów.