【问题标题】:Manipulating Variables in HTML-Embedded Ruby在嵌入 HTML 的 Ruby 中操作变量
【发布时间】:2017-03-15 18:46:19
【问题描述】:

我在 HTML 中使用嵌入式 Ruby,并尝试创建一个新变量;但是,这似乎是在修改代码上的 HTML 格式,即使我只是想创建一个新变量并修改它。似乎当我操纵 newfood 时,我也在改变存储在“food”中的值(几乎以通过引用的方式)。如何按值传递它(如果可能)?

<% newfood = food%>

<% newfood.gsub!('a','b')%>

【问题讨论】:

    标签: html ruby embedding


    【解决方案1】:

    您可以为此使用 clone 或 dup 函数。

    在你的食物是一个字符串的情况下,它们都可以工作。

    newfood = food.dup
    newfood = food.clone
    

    函数的工作方式有点不同,这是 ruby​​-doc 所说的:

    一般来说,clone 和 dup 在后代类中可能有不同的语义。虽然 clone 用于复制对象,包括其内部状态,但 dup 通常使用后代对象的类来创建新实例。 http://ruby-doc.org/core-2.4.0/Object.html#method-i-dup-label-on+dup+vs+clone

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-05
      • 1970-01-01
      • 2015-06-06
      • 1970-01-01
      相关资源
      最近更新 更多