我有一个数组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
Run Code Online (Sandbox Code Playgroud)