【问题标题】:Ruby: Variable inside a variableRuby:变量中的变量
【发布时间】:2014-12-04 23:52:11
【问题描述】:

我刚开始使用 Ruby,我面临以下问题。

ip_array = [1.1.1.1,2.2.2.2]

for i in 0..1
    puts `ping #{ip_array[#{i}]}`

end

这给了我一个错误:意外的 IDENTIFIER,期待 ']'

但是这行得通

ip_array = [1.1.1.1,2.2.2.2]

for i in 0..1
    puts `ping #{ip_array[i]}`

end

谁能解释一下,我觉得#{ip_array[#{i}]}#{ip_array[i]}更正确

【问题讨论】:

    标签: ruby


    【解决方案1】:

    实际上#{ip_array[i]} 的版本是正确的,因为使用以下语法在ruby 字符串中替换变量:#{<var_name>},如您所见here

    因此,您不能在变量名中使用井号标签 ('#'),就像您在 #{ip_array[#{i}] 中尝试的那样,因为这标志着新变量替换的开始,而之前的替换尚未完成。

    #ip_array[i] 只是字符串中替换的一个变量,而不是两个变量。

    【讨论】:

      猜你喜欢
      • 2012-05-22
      • 2013-10-06
      • 2011-01-06
      • 1970-01-01
      • 2013-11-26
      • 2021-07-29
      • 2013-03-24
      • 1970-01-01
      • 2012-12-28
      相关资源
      最近更新 更多