我的ruby脚本从命令行参数获取某些输入.它检查是否缺少任何命令行参数,然后它会提示用户输入.但我无法使用获取来自用户的输入.
示例代码:test.rb
name=""
ARGV.each do|a|
if a.include?('-n')
name=a
puts "Argument: #{a}"
end
end
if name==""
puts "enter name:"
name=gets
puts name
end
Run Code Online (Sandbox Code Playgroud)
运行脚本: ruby test.rb raghav-k
导致错误:
test.rb:6:in `gets': No such file or directory - raghav-k (Errno::ENOENT)
from test.rb:6:in `gets'
from test.rb:6:in `<main>'
Run Code Online (Sandbox Code Playgroud)
任何指向这个方向的人都会非常感激谢谢桑迪
rjp*_*rjp 12
gets$stdin如果没有命令行参数,则只会读取真实的(即用户).否则它会将这些参数作为文件连接为虚拟$stdin.
您可以使用STDIN.gets以确保始终使用正确的功能.
您也可以随时删除参数ARGV(或一次性删除它们),您gets应该正常工作.
| 归档时间: |
|
| 查看次数: |
2561 次 |
| 最近记录: |