次の形式のデータがあります
"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
これらは唯一の2つのオプションですか、それともよりクリーンな方法はありますか?