我有一個陣列,里面的元素是 2 個模型的混合:Article和Profile.
有沒有辦法檢查陣列中是否有Article和/或模型?Profile我看到的函式include?適用于特定元素而不是它們的類。
示例:鑒于[Profile1, Profile2, Article1]我想檢查那里是否有Articleor Profile。我只能檢查是否有一個名為Profile1.
任何幫助將非常感激!謝謝!
uj5u.com熱心網友回復:
你可以使用任何方法嗎?使用方法is_a?
這是一種知道陣列中是否存在 anArticle或 a的方法。Profile
array = [Profile1, Profile2, Article1]
array.any? { |a| a.is_a?(Article) || a.is_a?(Profile) }
uj5u.com熱心網友回復:
你甚至可以使用instance_of?
array = [Profile1, Profile2, Article1]
array.any?{ |v| v.instance_of?(Profile) || v.instance_of?(Article) }
如果你想計算每個模型,你可以這樣做:
對于文章
array = [Profile1, Profile2, Article1]
array.map{ |v| v.instance_of?(Article) }.count(true)
簡介
array.map{ |v| v.instance_of?(Profile) }.count(true)
uj5u.com熱心網友回復:
最簡單的解決方案:
您可以使用以下方法簡單地檢查陣列是否包含 Profile 物件:
array = [Profile1, Profile2, Article1]
array.any?(Profile)
同樣對于文章:
array.any?(Article)
謝謝
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/455213.html
