我可以做这样的事情:
>ruby some_file.rb
>Your options are:
> 1. delete file blah.txt
> 2. delete file blah2.txt
> 3. delete file blah3.txt
> x to exit
> 1
> blah.txt was deleted
> 1. delete file blah.txt
> 2. delete file blah2.txt
> 3. delete file blah3.txt
> x to exit
> x
>
这将从一个文件中读取它的配置,该文件将删除所有文件。
我希望这个循环,所以除非你按'x',否则它会不断询问该做什么。
你怎么能用Ruby做到这一点?
答案 0 :(得分:1)
您可以使用Kernel#gets
从标准输入读取用户输入。这应该有希望指出你正确的方向。
答案 1 :(得分:0)
您需要创建您所说的包含所有文件的配置文件 需要删除。
阅读配置文件
根据配置文件
读入用户输入并执行操作。
答案 2 :(得分:0)
你可以从这里开始:
def menu(choice)
case choice
when 1
# do_something
when 2
# ...
end
end
while ((a = gets) != "x\n")
menu(a)
end
正如@Hunter McMillen所说,你可以使用一些配置文件以编程方式创建案例。
答案 3 :(得分:0)
if ARGV.size > 0
if FileTest.exists? ARGV[0]
files=[]
IO.readlines(ARGV[0]).each{|l| files.push(l.chop) if FileTest.exists? l.chop}
while files.size > 0
files.each_with_index{|f,i| puts "#{i+1}. #{f}"}
puts "x to exit"
opt = $stdin.gets.chop
break if opt == 'x'
opt = opt.to_i
puts "#{files.delete_at(opt-1)} was deleted" if opt > 0 && opt <= files.size && File.delete(files[opt-1]) > 0
end
end
end