我有以下格式的数据
"stats": {
"team": [],
"outcome": [],
"rank": []
}
我需要确定上述结构中是否存在 2 个或更多结果的组合,然后打印一些东西。
所以这个想法是:
(if stats.team.present? && if stats.outcome.present) || (if stats.outcome.present? && if stats.rank.present) || (if stats.team.present? && if stats.rank.present)
更好的方法是创建一个方法来添加一个计数器,如果团队、结果、排名的计数大于 0,则该计数器会增加。
然后检查计数器是否大于 2。例如:
def my_count
count = 0
count += 1 if stats.team.count > 0
count += 1 if stats.outcome.count > 0
count += 1 if stats.rank.count > 0
if count > 1
return true
end
end
这些是仅有的两个选项还是有更清洁的方法?