gpt4 book ai didi

Ruby ARGF 和额外参数不稳定

转载 作者:太空宇宙 更新时间:2023-11-04 03:48:37 26 4
gpt4 key购买 nike

我有一个 Ruby 程序(学校项目),我需要像这样指定服务器和端口:

ruby program.rb -s servername -p 8080

我还需要能够将文件作为 STDIN 输入(在 linux/unix 终端中使用 < 运算符)

ruby program.rb -s servername -p 8080 < testfile.txt

我做了一个测试 ruby​​ 脚本,只是 puts gets 。当这样运行时

ruby test.rb -s servername -p 8080 < testfile.txt  

我收到此错误:

test.rb:5:in 'gets': No such file or directory @ rb_sysopen - -s (Errno::ENOENT)

当我使用这些参数时,Ruby 似乎正在尝试打开一个具有第一个参数名称的文件(在本例中为“-s”),而不是 < 之后指定的文件。运算符。

有办法解决这个问题吗?我在 Ruby 2.1.0 和 2.1.5 上都遇到了同样的错误。

编辑:刚刚尝试执行 STDIN.readline 并且它工作正常......什么???

最佳答案

当您调用 gets 时,您正在调用 Kernel#gets .

当您调用 STDIN.gets 时,您正在调用 IO#gets .

我同意,这有点奇怪。

关于Ruby ARGF 和额外参数不稳定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27114614/

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