例如,我有一个包含 5 个元素的哈希:
my_hash = {a: 'qwe', b: 'zcx', c: 'dss', d: 'ccc', e: 'www' }
我的目标是每次循环哈希时都返回,但没有一个元素,例如:
my_hash = {a: 'qwe', b: 'zcx', c: 'dss', d: 'ccc' }
然后
my_hash = {a: 'qwe', b: 'zcx', c: 'dss', e: 'www' }
等等
使用数组我会使用组合方法,但是当我使用哈希时? 我想尽可能轻松地做到这一点
最佳答案
您可以将其转换为数组,稍后再将其转换回哈希:
my_hash.to_a.combination(4).to_a.sample.to_h
# => {:a=>"qwe", :b=>"zcx", :c=>"dss", :e=>"www"}
my_hash.to_a.combination(4).to_a.sample.to_h
# => {:a=>"qwe", :c=>"dss", :d=>"ccc", :e=>"www"}
关于Ruby - 哈希 - 组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31718330/