以不同方式打印$ 0

时间:2014-06-09 00:01:42

标签: ruby string-interpolation

在以下打印$0的方法中,第一种方法有效,而第二方则无效。为什么呢?

  • 直接

    puts "current $0 is #{$0}"
    
  • 构建$0变量名称(由javascript推动)

    1.times {|i| puts "current $#{i} is #{$i}"}
    

1 个答案:

答案 0 :(得分:3)

因为第二个正在寻找一个名为" $ i"的变量。不是" $ 0"

如果您想动态构建变量名称,则需要执行类似......

的操作
1.times {|i| puts "current $#{i} is #{eval '$'+i.to_s}"}