rails 独学して軽くにちゃんまとめつくる

読者です 読者をやめる 読者になる 読者になる

rubyでランダム数字取り出すまとめ~個数選択、番号順~

 (1..100).to_a.shuffle

 こうしたら

  [43, 52, 17, 37, 32, ・・・・26, 62] 

 こんなのがでてくる。ランダムな順番で100個。しかし100は多いから制限をかけて 10個にしよう。

(1..100).to_a.shuffle[0..10]

すると

 => [83, 75, 47, 80, 67, 36, 95, 8, 53, 3, 49]

こうなる。まあ適当な数字が得られたのはいいが、番号順になおしたい。そんなときは.sort を後ろにつける。

 

 (1..100).to_a.shuffle[0..10].sort

=> [20, 24, 32, 38, 39, 62, 64, 68, 72, 79, 82]

 これで完成。

でも2ちゃんまとめをつくるとなると、しなきゃいけないことがある。それは >>1 のコメントを必ず抜き出すこと。 >>1 がいてはじめて2ちゃんねるが成り立つ。そんなこときはこうする。

 

(2..100).to_a.shuffle[0..10].push(1).sort

 => [1, 12, 14, 26, 53, 56, 57, 59, 67, 72, 75, 80]  

 (2..100)という書き方に変えたことに注意。(1..100)だと1 が重複するおそれがあるからそうさせないためにも 乱数を発生させるときは 1 を除外しなければならない。

配列に新たに要素を加えるときは push メソッドをつかう。そして番号順にならべたいから .sort メソッドの前に push をつけなければならない。もしこれを怠って最後に push をつけたら

 

 (2..100).to_a.shuffle[0..10].sort.push(1)
 => [14, 16, 24, 38, 48, 68, 72, 82, 83, 85, 93, 1]  

 

こうなるのでご注意を。