2013-07-21 6 views
0

Как я могу упростить следующую инструкцию if, чтобы удалить повторение?упрощение if equals (==) statement

if user.name == "john" && user.age > 10 or user.name == "wendy" && user.age > 10 or user.name == "mary" && user.age > 10 

Спасибо!

+1

Использование '||' вместо 'or' для булевой expressions¡. – tokland

+0

И для удаления повторения && вы должны просто использовать '(user.name ==" x "|| user.name ==" y ") && user.age> 10' По-видимому, что пишет @falsetru, это лучше. Я просто сказал это, поэтому вы пытаетесь использовать '()' в своем коде. –

ответ

6

Использование Array#include?

if ['john', 'wendy', 'mary'].include?(user.name) && user.age > 10 
+0

Отлично! спасибо –

0
require 'set' 

target_names = Set.new ["john", "wendy", "mary"] 

if target_names.include? user.name and user.age > 10 ...