如何使用Ruby解释器irb来测试/调试我的.rb文件?我想加载一个.rb文件,让它运行,并在它结束后返回irb提示符,这样我就可以操作我的脚本已经构建的变量。我尝试了load,require和irb -r,但是没有一个像我希望的那样工作。在执行之后,当程序终止时,我得到一个irb提示符,但是所有的变量都无法访问。我该怎么办?
.rb
load
require
irb -r
n53p2ov01#
不确定你到底想做什么,但听起来你可能想用“撬”宝石代替。
3hvapo4f2#
1.安装pry gem参见:http://pryrepl.org1.在程序开始时需要“窥探”。1.将binding.pry放在程序的末尾(或您希望开始交互会话的位置)1.运行程序。使用pry,您将在范围内拥有所有变量。更多信息,请参阅上面的链接,并在这里:http://banisterfiend.wordpress.com/2011/01/27/turning-irb-on-its-head-with-pry/以及:https://github.com/pry/pry/wiki/Runtime-invocation
pry
binding.pry
ttcibm8c3#
如果您需要的变量是局部变量,我不认为有一种方法可以从另一个文件访问它们。如果你只想得到另一个文件中的整个代码的返回值,你可以在主代码中eval该文件的整个内容,然后访问返回值。你可以通过将多个值放在一个数组或散列中来访问多个值,这些值位于要eval的文件的末尾。
eval
1cosmwyk4#
在您希望irb启动的位置添加以下代码
require 'irb' IRB.start(__FILE__)
ehxuflar5#
从Ruby2.4开始,在代码中放置这个元素会使您进入放置它的作用域中的irb会话。不需要额外gem安装或require语句。
5条答案
按热度按时间n53p2ov01#
不确定你到底想做什么,但听起来你可能想用“撬”宝石代替。
3hvapo4f2#
1.安装
pry
gem参见:http://pryrepl.org1.在程序开始时需要“窥探”。
1.将
binding.pry
放在程序的末尾(或您希望开始交互会话的位置)1.运行程序。
使用pry,您将在范围内拥有所有变量。
更多信息,请参阅上面的链接,并在这里:
http://banisterfiend.wordpress.com/2011/01/27/turning-irb-on-its-head-with-pry/
以及:
https://github.com/pry/pry/wiki/Runtime-invocation
ttcibm8c3#
如果您需要的变量是局部变量,我不认为有一种方法可以从另一个文件访问它们。
如果你只想得到另一个文件中的整个代码的返回值,你可以在主代码中
eval
该文件的整个内容,然后访问返回值。你可以通过将多个值放在一个数组或散列中来访问多个值,这些值位于要eval
的文件的末尾。1cosmwyk4#
在您希望irb启动的位置添加以下代码
ehxuflar5#
*******************************************************************************************************************************************************************************************************************************************************
从Ruby2.4开始,在代码中放置这个元素会使您进入放置它的作用域中的irb会话。
不需要额外gem安装或require语句。