В Ruby я получаю входящие данные из файла, представляющего XML-документ, но содержащего некоторый код интерполяции Ruby. Вот пример:
<ns1: xmlns:ns1="http://example.com" attr="#{Time.now}">
Теперь, когда я хочу оценить строку для разрешения ссылок Ruby, я попробовал следующее:
xs = '<ns1: xmlns:ns1="http://example.com" attr="#{Time.now}">'
eval("'" + xs + "'") #=> "<ns1: xmlns:ns1=\"http://example.com\" attr=\"\#{Time.now}\">"
eval %Q{"'" + #{xs} + "'"} # SyntaxError: (eval):1: syntax error, unexpected '<'
eval('"' + %Q{#{xs}} + '"') # SyntaxError: (eval):1: syntax error, unexpected tIDENTIFIER, expecting end-of-input
Я не знаю, как еще это сделать. Как я могу оценить строку с интерполяцией, чтобы получить следующее:
<ns1: xmlns:ns1="http://example.com" attr="2017-06-22 11:58:39 +0200">
#{ }
на<%= %>
:) - person Sergio Tulentsev   schedule 22.06.2017ERB.new(xs).result(binding)
. Вот и все. Заставить работать интерполяцию здесь будет более проблематично (если вообще возможно) - person Sergio Tulentsev   schedule 22.06.2017