【问题标题】:IRB analogue of python -ipython -i 的 IRB 类似物
【发布时间】:2011-01-22 11:39:52
【问题描述】:

我想使用 IRB 来运行脚本,然后给我一个交互式提示。我在 Python 中使用 python -i xy.py 执行此操作,但是 irb xy.rb 在执行后退出。

> python --help

-i    When a script is passed as first argument or the -c option is
      used, enter interactive mode after executing the script or the
      command

【问题讨论】:

    标签: ruby irb


    【解决方案1】:
    irb -r xy.rb
    

    它只需要在给你一个正常的 IRB 提示之前提到的文件。

    【讨论】:

    • 但请记住,使用 -rrequire 不会让您访问脚本的局部变量,即使它们是在顶级执行环境中定义的。跨度>
    • @hso 这是因为 ruby​​ 的作用域规则。当您 requireload ruby​​ 中的文件时,该文件顶层的局部变量不会“溢出”(即不可访问)该脚本。这不仅适用于irb,也适用于一个脚本requires 另一个。你可以使用eval 来解决这个问题,但是你需要弄乱绑定......
    • 顺便说一句,从 ruby​​ 1.9 开始,您需要预先添加所需文件的路径:irb -r ./xy.rb
    • @hso 如果你想访问外部脚本的本地,你应该考虑使用调试器。见related question
    • 谢谢,@Kelvin。我从来没有认真使用过 Ruby。我已经习惯了 Python 导入的工作方式,并试图解决这个问题。
    猜你喜欢
    • 1970-01-01
    • 2020-12-07
    • 2014-04-28
    • 2015-11-17
    • 1970-01-01
    • 2012-09-05
    • 2010-10-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多