我有一个XML文件,其中包含一些ruby条件。我想在使用xml内容之前阅读该文件并 eval 。
为简化起见,这是一个测试案例。
str1='<?xml version="1.0" encoding="UTF-8"?>'
str2='if 1+1 == 2 then "yes" end'
eval(str1)
eval(str2)始终有效,但不是str1。我得到以下错误。
(eval):1: syntax error, unexpected '<'
<?xml version="1.0" encoding="UTF-8"?>
^
(eval):1: syntax error, unexpected tIDENTIFIER, expecting end-of-input
<?xml version="1.0" encoding="UTF-8"?>
^
(repl):5:in `eval'
(repl):5:in `<main>'
我想逃避'&lt;'和'?'和这样的符号,因为我不能使用单引号来禁用插值。因为xml将包含一些要在 eval 上执行的ruby条件。
感谢任何帮助
修改 请检查帖子的第一行。它说'xml文件中有ruby条件'。我想评估条件。
当我们在双引号字符串中嵌入ruby代码来评估/插入它时,我认为我可以通过前缀或后缀来使其成为有效的ruby表达式。 (e.b str1 =“a =#{str1}”或类似之前的类似内容)。我给出的例子是它的摘录。