gpt4 book ai didi

ruby - 当我将参数传递给我的脚本时,使用 gets() 会出现 "No such file or directory"错误

转载 作者:数据小太阳 更新时间:2023-10-29 06:23:38 24 4
gpt4 key购买 nike

您好,我正在制作一个简单的 ruby​​ 脚本,我在其中使用 gets.chomp 和参数制作表单,问题是当 gets.chomp 使用脚本返回时当我应用参数 test 时出现错误。

代码:

#!usr/bin/ruby

def formulario(quien)
while (1)
print "[+] Word : "
word = gets.chomp
print quien + " -> " + word
end
end

quien = ARGV[0]

formulario(quien)

错误:

[+] Word : C:/Users/test/test.rb:8:in `gets': No such file or directory @ rb_sysopen - test (Errno::E
NOENT)
from C:/Users/test/test.rb:8:in `gets'
from C:/Users/test/test.rb:8:in `formulario'
from C:/Users/test/test.rb:17:in `<main>'

有人能帮忙吗?

最佳答案

看起来您希望用户通过从 STDIN 读取一行来键入一些输入,最好的方法是调用 STDIN.gets 而不是获取。所以你的行变成:

word = STDIN.gets.chomp

这被记录为 IO.gets . STDINIO 的实例。

现在,您正在执行 Kernel.gets ,它做了一些不同的事情(强调我的):

Returns (and assigns to $_) the next line from the list of files in ARGV (or $*), or from standard input if no files are present on the command line.

如果 ARGV 为空,这看起来表现得像STDIN.gets,但这不是同一回事,因此会造成混淆。

关于ruby - 当我将参数传递给我的脚本时,使用 gets() 会出现 "No such file or directory"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27453569/

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