我正在尝试制作一个简单的ruby脚本。但是,当我运行它时,命令行打开,几乎立即关闭。我在Visual Basic控制台应用程序中遇到了同样的问题,所以我不确定这是否是命令提示符的问题。
我使用Ruby 1.9.3运行Windows 8。任何帮助表示赞赏。
答案 0 :(得分:4)
这是在Windows上开发命令行应用程序时的常见症状,尤其是在使用IDE时。
解决问题的正确方法是手动打开命令行提示符或PowerShell,导航到程序所在的目录并通过命令行手动执行:
ruby your_program.rb
这就是命令行程序从一开始就被设计为执行的方式。当您从IDE运行代码时,它会打开一个终端并告诉它执行您的程序。但是,一旦你的程序执行完毕,终端就无所事事就会关闭。
但是,如果你打开终端,那么你告诉它该做什么,而不是IDE,因此终端期待你的更多输入该计划已经完成。它没有关闭,因为你没有告诉它关闭。
您还可以在Ruby脚本的末尾使用此解决方法:
gets
这将从标准输入读取一行并丢弃它。它会阻止你的程序,以及终端,直到你按下返回为止。
类似的解决方法可以用于任何语言,例如C和C ++,但我不认为它们正在解决实际问题。
但是,请不要让此气馁!在您学习的过程中随意使用gets
。这是一个非常方便的解决方法,您应该使用它。
请注意,这些类型的黑客不应该出现在生产代码中。
答案 1 :(得分:1)
您是从命令行运行还是作为可执行文件运行。尝试在末尾放置一个忙循环以查看输出或等待键盘输入。如果在命令行之外运行,命令行将在脚本完成后退出。