我有一个数组,names
,包含 12 个名字。
我有另一个数组 weights
,包含 12 个数字。
我想创建一个散列,其中键是名称,值是权重。
权重数字是预先确定的(例如,它们应该始终为 200、150 和 180),但每次运行程序时都应将它们分配给随机名称。
例如,如果我使用数组 names = ['homer', 'marge', 'maggie']
和 weights = [265, 140, 10]
,我可以运行程序并得到 {homer: 140, marge: 265, maggie: 10}
,然后重新运行它并得到 {homer: 10, marge: 140, maggie: 265}
。
这样做的明智方法是什么?
最佳答案
另一个答案几乎得到它,但它没有首先打乱 weights
数组,所以它总是返回相同的散列。
但是,这将按预期工作:
names.zip(weights.shuffle).to_h
关于ruby - 如何通过从另一个数组分配随机值将数组转换为散列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29113805/