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