[Ruby] concat czy concat!?

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”.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *