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.