相关疑难解决方法(0)

ruby中的相同程序如何接受来自用户的输入以及命令行参数

我的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)

任何指向这个方向的人都会非常感激谢谢桑迪

ruby

5
推荐指数
1
解决办法
2561
查看次数

如何在 Ruby 中结合 gets.chomp 和 ARGV?

我刚开始学习 ruby​​,目前坚持在同一个脚本中使用 ARGV 和 gets.chomp。

我希望脚本首先解压 3 个参数,然后我会问一个问题 (gets.chomp),然后打印包含 ARGV 和 gets.chomp 变量之一的字符串。在终端中,我将 ARGV 设置为一二三(例如:ruby file1.rb 一二三)。下面的代码示例:

first, second, third = ARGV

puts "Your first variable is: #{first}"
puts "Your second variable is: #{second}"
puts "Your third variable is: #{third}"
Run Code Online (Sandbox Code Playgroud)

这完全符合我的预期。在终端中,它给了我一、二和三作为第一、第二和第三个变量。

我在 puts 中添加了“你最喜欢的颜色是什么”,这会按预期打印出来,但是当我为输入设置 gets.chomp 时,出现错误。

first, second, third = ARGV

puts "Your first variable is: #{first}"
puts "Your second variable is: #{second}"
puts "Your third variable is: #{third}"

puts "What is your favourite colour? "
colour = …
Run Code Online (Sandbox Code Playgroud)

ruby

4
推荐指数
1
解决办法
1442
查看次数

标签 统计

ruby ×2