LINUX.ORG.RU

[ruby] erb

 


0

1

есть задание - нужно строчку вида
He<% 2.times{ %>l<% } %>o, <%output.Write(\«World\»)%>
преобразовать в Hello, World

то есть это слегка напоминает ембеддед руби.
но фишка в том, что есть объект output с методом Write, который выводит то, что ему скормили.
если бы нужно было писать не <%output.Write(\«World\»)%>, а <%=output.Write(\«World\»)%>, то я бы написал что-нибудь такое http://rn0.ru/show/DfPTZ5iKIsrNhjoCoVGL/

можно, в принципе, замутить в начале метода что-нибудь такое
string.gsub!(/output.Write\((.*)\)/,'%><%=output.Write(\1)%><%')
string.gsub!(«<%%>»,"")
c поправкой на пробелы, но есть ли тут какое-нибудь красивое решение?

Deleted

писал...написать
что-нибудь такое...что-нибудь такое

извините

Deleted
()

есть ли тут какое-нибудь красивое решение?

Мсье, вы пытаетесь написать шаблонный движок, не обратится ли вам к исходникам готовой реализации для получения столь вожделенных знаний?

belous_k_a
()
Ответ на: комментарий от belous_k_a

вообще, конечно, идея, спасибо

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.