gpt4 book ai didi

ruby - 使用 Ruby 启动命令提示符不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 17:29:38 24 4
gpt4 key购买 nike

我无法在 Windows 上通过 Ruby 使用启动命令提示符。我得到了这个简单的程序:

puts "Whats your name?"
name = gets
puts "Hello" + name + ". How are you?"

但是如果我用“ruby program.rb”调用它,而不是等待我的输入,它只会打印出来:

Whats your name?
Helloputs "Whats your name?"
. How are you?

好像“gets”命令没有被识别。为什么会这样?

最佳答案

看起来您(以某种方式)在命令行上两次传递了您的程序名称。当您运行时,您描述的行为是可重现的

ruby program.rb program.rb

这是因为 gets 在所有情况下都不会从 STDIN 中读取,所以它的工作方式如此。相反,它更喜欢先读取命令行中提到的文件。仅当命令行上没有其他文件时,gets 回退到从 STDIN

读取

不幸的是,关于为什么两次传递 ruby​​ 程序的文件名的问题不太清楚。如果您不是自己这样调用它,则这可能是由您的 shell 中的一些奇怪的环境选项或您的 Ruby 设置引起的。

关于ruby - 使用 Ruby 启动命令提示符不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46894450/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com