如何以交互模式运行Ruby脚本

时间:2016-06-17 07:34:45

标签: ruby

在MATLAB中,如果编写脚本并运行它,则可以在命令行提示符下找到脚本中定义的变量。我想用IRB或Pry做类似的事情。我写了一个名为“scratch.rb”的脚本,它只是读取

public void TimerEvent(object sender, ElapsedEventArgs e)
    {
        var OldDB = db.OrdersLinks.FirstOrDefault().OrderNr;

        foreach (var entity in db.ChangeTracker.Entries())
        {
            entity.Reload();
        }
        var NewDB = db.OrdersLinks.FirstOrDefault().OrderNr;

        if (OldDB != NewDB)
        {
            Index(); //This calls into the Index Method but doesnt update the view
            //RedirectToAction("Index");
        }
    }

如果我在与此脚本相同的目录中的命令行中键入“irb”并键入

x = 0

这似乎运行Ruby脚本(正如我通过添加p命令确认的那样)。但是,如果此后立即尝试通过

“回显”变量x
> load 'scratch.rb'

我收到错误

> x

是否有可能以这种方式交互式地提供变量?

1 个答案:

答案 0 :(得分:1)

不,不是。局部变量在文件中作用域。

如果你想要强制使用,你可以将文件作为字符串读取,并在irb的根环境的绑定中进行评估。