gpt4 book ai didi

ruby-on-rails - Ruby:调用从数组中的哈希中获取值

转载 作者:太空宇宙 更新时间:2023-11-03 18:10:50 25 4
gpt4 key购买 nike

这可能是一个愚蠢的,但我在这里遗漏了一些东西......

我有这个

users = [{name: "chris"}, {name: "john"}]

这行得通

users.map do |obj|
puts obj[:name]
end

我想做这个

user.map(&:name)

尝试了符号以许多不同的方式触发,但没有成功。我想不出一种有意义的方法来做到这一点,但我觉得有一个。

最佳答案

为了能够使用user.map(&:name),您需要在数组中的每个对象上使用name 方法。

Hash 没有 name 方法,但你可以实现它(不要这样做,这只是一个例子):

class Hash
def name
self[:name]
end
end

但是更好的解决方案是为您的名字定义一个类。由于这种情况非常简单 Struct会做的。

假设这些名称属于用户或客户,您可以这样做:

User  = Struct.new(:name)
users = []

users << User.new('chris')
users << User.new('john')

user.map(&:name) # ['chris', 'john']

关于ruby-on-rails - Ruby:调用从数组中的哈希中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34535692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com