Ruby 本身有 kernel method :rand 可以使用,但是只能拉出 array 內的1個隨機 entry。

這時候可以這樣下:

temp_array = [1,2,3,4,5]
temp_array.sort_by {rand}

結果範例:[4, 1, 3, 2, 5]

 

如果想寫成 Array 的 method:

class Array
  def shuffle
    sort_by { rand }
  end

  def shuffle!
    self = shuffle
  end
end

笨笨小蟹 發表在 痞客邦 PIXNET 留言(0) 人氣()