gpt4 book ai didi

ruby - 如何让 ruby​​ block 返回 block 中的变量数组?

转载 作者:数据小太阳 更新时间:2023-10-29 07:34:39 24 4
gpt4 key购买 nike

在 ruby block 中:

user.trips.each { |trip| trip.pickedpost.user }

如何让代码返回一组用户?

如果我运行 block

user.trips.each { |trip| puts trip.pickedpost.user }

IRB 节目

#<User:0x007fd1ab9e2148>
#<User:0x007fd1aacf3dd8>
=> [#<Trip id: 18, pickedpost_id: 25, volunteer_id: 33, created_at: "2012-05-14 23:28:36", updated_at: "2012-05-14 23:28:36">, #<Trip id: 20, pickedpost_id: 20, volunteer_id: 33, created_at: "2012-05-15 00:12:39", updated_at: "2012-05-15 00:12:39">]

该 block 返回一个 trip 对象数组,这不是我想要的。

如何让 block 返回一个用户数组?

谢谢

最佳答案

看起来你想要的是.collect()它:

user.trips.collect { |trip| trip.pickedpost.user }

或者使用.map()

user.trips.map(&:pickedpost).map(&:user)

关于ruby - 如何让 ruby​​ block 返回 block 中的变量数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10593570/

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