Ruby:如何实现程序循环要求用户输入有效的文件名
实现持续输入有效文件名的Ruby程序修改方案
要让程序在用户输入无效文件名时持续要求输入,你需要给输入逻辑加上循环,直到用户提供有效的文件名为止。下面是两种可行的修改方案:
方案一:使用loop循环(逻辑清晰,推荐)
loop do print "请输入包含待分组学生列表的文件名: " input_file = gets.chomp.strip if File.exist?(input_file) puts "这是有效的文件" break # 文件有效,退出循环 else puts "无效的文件名,请重新输入" end end
方案二:使用until循环
input_file = "" until File.exist?(input_file) print "请输入包含待分组学生列表的文件名: " input_file = gets.chomp.strip puts "无效的文件名,请重新输入" unless File.exist?(input_file) end puts "这是有效的文件"
关键说明
- 加入
strip方法是为了去除输入内容前后的空白字符,避免用户误输入空格导致文件查找失败 - 循环会一直执行,直到用户输入的文件名通过
File.exist?验证,此时通过break(方案一)或者until条件满足(方案二)来终止循环
内容的提问来源于stack exchange,提问作者burner
相关产品推荐
相关产品推荐

