如何在Sublime Text上运行Ruby文件

我有一个名为add_and_power.rb的文件,如下所示,并希望在Sublime Text上运行它。

 def add_and_power a,b (a+b)**(a+b) end puts "First number please? " input1 = gets puts "Second number please? " input2 = gets puts "The result is: ", add_and_power(input1.to_i, input2.to_i) 

我运行cmd+b ,但它只是显示,

 First number please? Second number please? The result is: 1 [Finished in 0.9s] 

我想输入23来得到答案。 如何让Sublime Text 2请求输入并回复?

如果您想在ST2中运行代码,请查看SublimeREPL插件,该插件可通过Package Control获得 。 你可以使用更强大的IRBpry 。 您可以将它用作经典的REPL(想想Clojure或LISP),也可以通过选择,行范围或块将代码从一个选项卡传输到另一个选项卡中的正在运行的REPL。

在我的一些测试中, pry REPL不能很好地处理输入,但我还没有玩过那么多。 YMMV – 编辑 –正如AGS在下面提到的那样,在SublimeREPL Ruby中使用my_var = $stdin.gets进行交互式输入。

我强烈推荐SublimeREPL,因为它是一个非常强大的工具,并且在ST2中是自包含的,因此您不必在终端上来回翻转,保存和重新加载程序。

当您需要从键盘输入用户时,可以运行您的程序,但它不是很好。

当我这样做时,我需要从运行Sublime时打开的终端输入,同时还从编辑器底部的程序中读取响应。

从控制台/终端运行程序会更容易。

所以,答案是,尽管有可能这样做,但仍有顾虑。 你可能需要使用STDOUT.sync = trueSTDOUT.flush来帮助管理操作系统的缓冲区,你有两件事要看,这样做…哎呀。

它可能不是您正在寻找的答案,但作为开发人员,您应该可以轻松地从控制台/终端运行。