2013-07-21 31 views
0

如何簡化以下if語句以刪除重複?如果等於(==)語句的簡化

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

謝謝!

+1

使用''||代替'或'布爾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 ...