我有一个Ruby程序(学校项目),我需要指定一个服务器和端口,如下所示:
ruby program.rb -s servername -p 8080
我还需要能够将文件作为STDIN输入(使用linux / unix终端中的<运算符)
ruby program.rb -s servername -p 8080 < testfile.txt
我制作了一个仅puts gets
的测试ruby脚本。像这样运行时
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,它工作正常......什么???