Home > front end >  Ruby: finding file in directory
Ruby: finding file in directory

Time:10-18

How would I be able to make my program keep asking the user for a valid file name if the input they enter is not a valid file name? This is my current code:

print "What is the name of the input file that contains the list of students to be grouped: "
input_file = gets.chomp


if (File.exist?(input_file))
    puts "this is a valid file"
else 
    puts "this is not valid"
end

CodePudding user response:

To keep asking the user to provide an input until your condition (file exists) is met, you will have to make use of a loop. There are various you could use, here is an example using until, starting from the code you've provided.

puts "What is the name of the input file that contains the list of students to be grouped: "
input_file = gets.chomp

until File.exist?(input_file)
  puts "this is not valid" 
  puts "What is the name of the input file that contains the list of students to be grouped: "
  input_file = gets.chomp
end

puts "this is a valid file"

or another version to keep your code a bit more DRY

input_file = ''

until File.exist?(input_file)
  puts "What is the name of the input file that contains the list of students to be grouped: "
  input_file = gets.chomp
  puts "this is not valid" if !File.exist?(input_file)
end

puts "this is a valid file"
  • Related