From: Patrick Spence Date: 2006-08-10T04:26:23+09:00 Subject: Re: how to see if a variable matches an array element? John Fink wrote: > Hey folks, > > I'm knocking together a Rock, Paper, Scissors Ruby script to teach > myself > more Ruby deliciousness, and I've got it working, except I want to > compare a > variable to an array element (one of ["R", "P", "S"]) and have the > program > die if it doesn't match up. > > Here's the relevant part of my script (note the rochambo function is > defined > earlier in the script, and is really verbose, so I clipped it out): > > choices = %w{R P S} > puts "Your choice? R,P,S" > userchoice = gets.chomp.upcase > computerchoice = choices[rand(choices.length)] > puts "You picked " + userchoice + "!" > puts "Computer picked " + computerchoice + "!" > puts "FIGHT!" > rochambo(userchoice, computerchoice) > > > Basically I want to have the program die if the userchoice variable > doesn't > equal one of the elements in the choices array, and it should be easy, > but I > am hitting my head against a wall. > > jf irb(main):031:0> choices = %w{R P S} => ["R,P,S"] irb(main):032:0> computerChoice = gets.chomp.upcase() y => "Y" irb(main):033:0> choices.include?(computerChoice) => false irb(main):034:0> computerChoice = gets.chomp.upcase() r => "R" irb(main):035:0> choices.include?(computerChoice) => true -- Posted via http://www.ruby-forum.com/.