关于Ruby收集方法的问题
我有一系列哈希
例如:
cars = [{:company => "Ford", :type => "SUV"},
{:company => "Honda", :type => "Sedan"},
{:company => "Toyota", :type => "Sedan"}]
# i want to fetch all the companies of the cars
cars.collect{|c| c[:company]}
# => ["Ford", "Honda", "Toyota"]
# i'm lazy and i want to do something like this
cars.collect(&:company)
# => undefined method `company'
我想知道是否有类似的快捷方式来执行上述操作。
没有找到相关结果
已邀请:
5 个回复
杰黔轿缺
是最好的方法,如果你枚举任意数组。你将通过& amp;快捷方式必须是在Hash上定义的方法,因为数组中的每个对象都是
类型。由于没有为
定义
方法,因此您会收到“未定义方法'公司'”错误。 如果您在汽车数组上运行,则可以使用
,因为传入
区块的每个对象都是
类型(具有公司方法可用)。所以也许你可以修改你的代码,以便你使用一系列的汽车。
届甸衬丝蚕
青董据零
和论点:公司。建筑和公司采用标签
并转换为
,因此它只是一个参数 - 方法的名称。
末钉蹈泰唬
方法):
注意:我不是建议这个,我只是说这是可能的。
死狸蔽垂藐