运行后与Ruby脚本交互

时间:2015-03-28 13:48:54

标签: ruby irb

我习惯在IPython中执行以下操作:

run foo

它将加载文件foo.py.然后,文件中定义的每个变量都在范围内。现在我正在学习Ruby。我有一个hello.rb文件,它只有以下内容:

puts "Hello"
x = 1

当我用irb加载

load './hello.rb'

终端在屏幕上打印" Hello"。但我不能使用变量x。

我该怎么做?

感谢。

1 个答案:

答案 0 :(得分:0)

在Ruby中,您无法访问所需文件中定义的局部变量。在irb文件中,局部变量超出范围。

您可以采取一些措施来解决这个问题:

  • 定义常量:

    #hello.rb
    module SharedConst
    X = 1
    end
    puts "Hello"
    
    #in irb
    puts SharedConst::X
    # => 1
    
  • 定义实例变量

    #hello.rb
    puts "Hello"
    @x = 1
    
    #in irb
    @x
    # => 1