簡體   English   中英

如何檢查Ruby結構中是否存在值?

[英]How to check whether a value exists in a Ruby structure?

我曾經有一系列獨立的數組(例如name()id()description() )。 我以前可以通過執行name.include?("Mark")來檢查特定數組中是否存在值。

現在,我采用了一種更為優雅的方式來管理這些獨立的數組(這里是背景資料: 如何將帶有JSON字符串的數組轉換為JSON對象(紅寶石) ),我試圖弄清楚自己是怎么做的。

簡而言之,我將所有獨立的數組放在一個結構中,以便可以將內容引用為object().nameobject().idobject().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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM