Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

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

参考もと