Funkcji concat
chyba nikomu nie trzeba przedstawiać – służy co łączenia stringów. W Ruby działa identycznie jak jej odpowiednik w Javie – do stringa, na którym została wywołana, dokleja wartość argumentu.
a1 = "Ola"
Wynikiem przypisania jest: „Ola”
a1.concat("Makota")
Zmienna a1 zawiera teraz cały ciąg: „OlaMakota”.
Nasuwa się więc pytanie, czy zgodnie z konwencją przyjętą w Ruby, funkcja ta nie powinna nazywać się "concat!"
? Konwencja ta mówi, że funkcje dokonujące „drastycznych” modyfikacji obiektu powinny zawierać wykrzyknik.
Przykładowo:
a1="DoloresRyba"
a1.upcase
Funkcja zwraca: „DOLORESRYBA”, natomiast wartość obiektu a1 to nadal „DoloresRyba”.
a1.upcase!
Funkcja zwraca: „DOLORESRYBA”, wartość obiektu a1 została również zmodyfikowana – wartością a1 jest również „DOLORESRYBA”.