JP Silvashy
JP Silvashy

Reputation: 48495

ruby, evaluation multiple conditions in an array

So maybe I have this all wrong, but I'm sure there is a way to do this, say I have a an if statement, that I want to return true if all the conditions in an array evaluate as true.

say I have this:

def real_visitor?(location, request, params)

  valid_location = [
    params['referrer'] == 'us',
    params['bot'] != 'googlebot',
    5 + 5 == 10 
  ]

  if valid_location
    return true
  else
    return false
  end
end

How would I evaluate each of the conditions in the array valid_location, some of those conditions in that array are just pseudocode.

Upvotes: 0

Views: 414

Answers (1)

Paige Ruten
Paige Ruten

Reputation: 176645

Use Array#any? or Array#all?. It's like putting the || or && operator between all your conditions, but it doesn't do short-circuit evaluation, which is sometimes useful.

return valid_location.all?

You don't need the return keyword, by the way. I'd leave it out.

Upvotes: 4

Related Questions