[英]How to check whether a value exists in a Ruby structure?
我曾經有一系列獨立的數組(例如name()
, id()
, description()
)。 我以前可以通過執行name.include?("Mark")
來檢查特定數組中是否存在值。
現在,我采用了一種更為優雅的方式來管理這些獨立的數組(這里是背景資料: 如何將帶有JSON字符串的數組轉換為JSON對象(紅寶石) ),我試圖弄清楚自己是怎么做的。
簡而言之,我將所有獨立的數組放在一個結構中,以便可以將內容引用為object().name
, object().id
, object().description
。
但是我現在想念如何檢查object
數組的name
結構中是否有值“ Mark”。
我試過了object.name.include?("Mark")
但是不太喜歡。
我也嘗試過使用has_value?
但這似乎也不起作用(可能是因為在我將其導入結構之前,它曾經是一個哈希,但現在不再是哈希-參見此處: 如何將帶有JSON字符串的數組轉換為JSON對象(紅寶石) )
思考? 如何檢查object.name是否包含某個字符串?
謝謝。
如果要查找所有名為Mark
客戶,則可以編寫以下內容:
customers_named_mark = array_of_customers.select{|c| c.name == 'Mark' }
這將返回一個可能為空的數組。 如果要查找第一個名為Mark
客戶,請輸入
customer_named_mark = array_of_customers.detect{|c| c.name == 'Mark' }
這將返回第一個匹配項或nil。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.