gpt4 book ai didi

ruby - 从几个哈希生成每个组合

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

我有几个数组,我就说四个。例如:

LOCATION  = [:new_york, :california, :alaska, :missouri, :mississippi, :florida]
TYPE = [:high_rise, :mid_rise, :low_rise, :loft, :townhouse, :hotel]
OWNERSHIP = [:coop, :condo, :condop, :rental, :single_family, :multi_family]
BLDG_AGE = [:historic, :pre-war, :post-war, :modern]

我需要一个脚本来生成这些的每一个组合。以下是一些示例:

:new_york
:new_york, :high_rise
:new_york, :high_rise, :coop
:new_york, :high_rise, :coop, :historic

这些都是简单的,只是一堆嵌套循环。我还需要其他组合。例如:

:new_york, :coop
:new_york, :pre-war
:new_york, :rental, :modern
:new_york, :high_rise, :single_family

但是想想每个组合,只有 LOCATION 的成员可以单独出现。

最佳答案

假设您想要 :pre_war, :post_war 而不是 :pre-war, :post-war :

LOCATION  = [:new_york, :california, :alaska, :missouri, :mississippi, :florida]
TYPE = [:high_rise, :mid_rise, :low_rise, :loft, :townhouse, :hotel]
OWNERSHIP = [:coop, :condo, :condop, :rental, :single_family, :multi_family]
BLDG_AGE = [:historic, :pre_war, :post_war, :modern]

LOCATION.product([nil] + TYPE, [nil] + OWNERSHIP, [nil] + BLDG_AGE)
.map(&:compact)

或更简洁:

LOCATION.product(*[TYPE, OWNERSHIP, BLDG_AGE].map{|a| [nil] + a})
.map(&:compact)

关于ruby - 从几个哈希生成每个组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16848241/

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