gpt4 book ai didi

ruby - ruby 哈希中 bool 值的排列

转载 作者:数据小太阳 更新时间:2023-10-29 08:15:42 26 4
gpt4 key购买 nike

我需要实现一个函数,该函数获取一个以符号作为参数的数组,如 [:a :b :c],然后返回一个数组,其中包含映射到那些的 bool 值的所有可能排列散列中的符号

喜欢

[{a: true, b: true, c: true},
{a: false, b: true, c: true},
{a: true, b: false, c: true},
{a: true, b: true, c: false},
{a: true, b: false, c: false},
{a: false, b: false, c: true},
{a: false, b: true, c: false},
{a: false, b: false, c: false}]

用 ruby​​ 实现这种东西的优雅方法是什么?

最佳答案

我使用 repeated_permutation对于这个任务:

[true, false].repeated_permutation(3)
.map { |a, b, c| { a: a, b: b, c: c } }
#=> [{:a=>true, :b=>true, :c=>true},
# {:a=>true, :b=>true, :c=>false},
# {:a=>true, :b=>false, :c=>true},
# {:a=>true, :b=>false, :c=>false},
# {:a=>false, :b=>true, :c=>true},
# {:a=>false, :b=>true, :c=>false},
# {:a=>false, :b=>false, :c=>true},
# {:a=>false, :b=>false, :c=>false}]

或者使用一组键:

keys = %i(a b c)
[true, false].repeated_permutation(keys.size)
.map { |values| keys.zip(values).to_h }

关于ruby - ruby 哈希中 bool 值的排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35063227/

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