Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

Ruby配列周りのアレコレ

規則配列をまとめて作る

規則性のある配列を生成するときはブロックをつけると綺麗 - Bye Bye Mooreからの派生で

ary = Array.new(16) {|i| rand(100)}                            
#=> [59, 10, 72, 92, 16, 27, 9, 73, 85, 44, 45, 12, 62, 35, 51, 22]

最大値・最小値、あるいはその両方

ary.min
#=> 9

ary.max
#=> 92

ary.minmax
#=> [9, 92]

ary.minmax[0]
#=> 9

ary.minmax[1]
#=> 92

サンプル値を引っ張り出す

この方法は、randで搔き乱してfirstとる方法よりも高速です。(出典:Writing Fast Ruby // Speaker Deck)

ary.sample
#=> 10

ary.sample
#=> 72

ary.sample
#=> 27

複数個取得できます

ary.sample(3)
#=> [35, 9, 16]

最初と最後

ary.first
#=> 59

ary.last
#=> 22

参考もと