我曾经拥有一系列独立数组(例如name()
,id()
,description()
)。我曾经能够通过执行name.include?("Mark")
现在,我采用了更优雅的方式来管理不同的这些独立数组(这里是背景:How do I convert an Array with a JSON string into a JSON object (ruby))我试图弄清楚我是如何做同样的事情。
简而言之,我将所有独立数组放在一个结构中,以便我可以将内容引用为object().name
,object().id
,object().description
。
但是我现在错过了如何检查object
数组是否有值" Mark"在name
结构中。
我试过object.name.include?("Mark")
,但它并不喜欢它。
我也试过使用has_value?
,但这似乎也没有起作用(可能是因为在我将其导入结构之前它曾经是一个哈希,但现在不再是一个哈希 - 见这里:How do I convert an Array with a JSON string into a JSON object (ruby))
思考?如何检查object.name是否包含某个字符串?
感谢。
答案 0 :(得分:0)
如果要查找名为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。