1.3. Zastępowanie zmiennych w istniejącym łańcuchu

Problem

Należy utworzyć łańcuch umożliwiający interpolację wyrażenia języka Ruby, jednakże bez wykonywania tej interpolacji — ta wykonana zostanie później, prawdopodobnie wtedy, gdy będą znane wartości zastępowanych wyrażeń.

Rozwiązanie

Problem można rozwiązać za pomocą dwojakiego rodzaju środków: łańcuchów typu printf oraz szablonów ERB.

Ruby zapewnia wsparcie dla znanych z C i Pythona łańcuchów formatujących typu printf. Kody substytucyjne w ramach tych łańcuchów mają postać dyrektyw rozpoczynających się od znaku % (modulo):

template = 'Oceania zawsze była w stanie wojny z %s.' template % 'Eurazją' # => "Oceania zawsze była w stanie wojny z Eurazją." template % 'Antarktydą' # => ...

Get Ruby. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.