This might be a silly question, but I just can't get it to work. Pretty sure I've missed something.
I want to set a boolean to false
Then set it to true only when a condition is met.
boolTest = false
until boolTest = true
puts "Enter one fo these choices: add / update / display / delete?"
choice = gets.chomp.downcase
if choice == "add" || choice == "update" || choice == "display" || choice == "delete"
boolTest = true
end
end
Only just starting to learn Ruby, so maybe I'm confusing the capabilities of other languages.
Since you're using until, that's effectively writing out while not boolTest. You can't use =, since that's reserved for assignment; instead, omit the boolean conditional.
There's no value in checking a boolean against a boolean; if you really wanted to keep it though, you'd have to use ==.
boolTest = false
until boolTest
puts "Enter one fo these choices: add / update / display / delete?"
choice = gets.chomp.downcase
if choice == "add" || choice == "update" || choice == "display" || choice == "delete"
boolTest = true
end
end
As an optimization/readability tip, you can also adjust your boolean conditional so that there's no repeated statement with choice; you can declare all of thoe strings in an array, and check to see if choice exists in the array through include?.
boolTest = false
until boolTest
puts "Enter one fo these choices: add / update / display / delete?"
choice = gets.chomp.downcase
boolTest = %w(add update display delete).include? choice
end
I think what you missed is just "==" in the if condition until boolTest = true you should use a double = not a single one
this will work for you
boolTest = false
until boolTest == true
puts "Enter one fo these choices: add / update / display / delete?"
choice = gets.chomp.downcase
if choice == "add" || choice == "update" || choice == "display" || choice == "delete"
boolTest = true
end
end
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With