我在HTML中使用嵌入式Ruby并尝试创建一个新变量;然而,这似乎是修改代码上的HTML格式,即使我只是想创建一个新变量并修改它。似乎当我操纵新食物时,我也在改变存储在“食物”中的值(几乎以传递方式)。如何通过值传递(如果可能)?
<% newfood = food%>
<% newfood.gsub!('a','b')%>
答案 0 :(得分:1)
您可以使用克隆或复制功能。
在你的情况下,食物是一根绳子,它们都会起作用。
<filePattern>abc.out</filePattern>
这些功能有点不同,这就是ruby-doc所说的:
通常,clone和dup在后代类中可能具有不同的语义。虽然clone用于复制对象,包括其内部状态,但dup通常使用后代对象的类来创建新实例。 http://ruby-doc.org/core-2.4.0/Object.html#method-i-dup-label-on+dup+vs+clone