我是Ruby的初学者并注意到每当我在记事本中编写脚本然后执行它时,它会立即退出,所以我没有时间阅读输出。我添加了input = gets.chomp!
以保持打开,虽然现在不是这样,但它已经工作了一次。
执行脚本后,如何保持口译员的工作?
这是我的代码,我使用的是Windows。
require 'pry'
index = 0
File.open("....txt").each {|x| puts x}
#puts index
binding.pry
感谢所有帮助人员,结果是gets.chomp!现在有效,我的问题是该文件不是文本而是html。对不起,所有的麻烦。
答案 0 :(得分:1)
打开控制台。
运行您的文件(键入ruby file.rb
)
或者您可以创建包含以下内容的简单bat文件:
ruby yourfile.rb
pause
使用.bat
扩展名命名并运行。
答案 1 :(得分:0)
你可以尝试
irb -r your_file_path
它将打开你的文件并在打开irb之前执行它,所以你定义的所有类都可以使用。
答案 2 :(得分:0)
使用Pry。
AFAIK你试图在调试和检查状态时做同样的事情。
添加
binding.pry
代码中的某处。执行将停在那里你可以检查那时的状态。您可以在文件末尾添加它,以查看执行完毕后发生的情况。
您可以根据需要添加任意数量,并且每个都会获得断点。类型exit
离开并转到下一个断点,或完成执行。您可以在Pry控制台上输入标准的红宝石代码。
请记得添加
require 'rubygems'
require 'pry'
从某个地方开始,领导宝石。您需要先使用
安装gemgem install pry
您将在bash命令行中输入,而不是在ruby控制台或脚本文件中。如果你在PC上,那么我不知道如何告诉你安装宝石。不过,你应该学习。
许多人认为Pry是调试ruby代码的最佳方法。
答案 3 :(得分:0)
我建议您从IRB内部尝试代码。只需从终端内部运行'irb'即可。 gets.chomp
行应该保持你的翻译,因为它等待用户输入。
如果您未在代码中使用puts
或p
,则您的Ruby代码中的输出将不会显示在您的终端中。你必须在你的代码中做这样的事情。
puts "Hello world!"
您传递给puts
或p
的参数会在终端中打印出来。下面的代码不会打印到终端:
1 + 1
这可能就是你没有看到代码输出的原因。