【发布时间】:2011-03-29 18:29:28
【问题描述】:
我想知道是否有更清洁的方法可以做到这一点。基本上,我想从可变长度的数组中选择一个随机元素。通常,我会这样做:
myArray = ["stuff", "widget", "ruby", "goodies", "java", "emerald", "etc" ]
item = myArray[rand(myarray.length)]
是否有更易读/更简单的东西来替换第二行?或者这是最好的方法。我想你可以做myArray.shuffle.first,但我几分钟前才在 SO 上看到#shuffle,我还没有真正使用它。
【问题讨论】:
-
下面的答案很好,但是关于洗牌的一般观点。我想对整个数组进行填充会比仅仅获得一个随机数要密集得多,所以这不是一个好的方向。