ビンゴカード作成問題を写経しつつわからないところを調べてみる

ruby

問題は下記URLを参照。

give IT a try
アウトプットのネタに困ったらこれ!?Ruby初心者向けのプログラミング問題を集めてみた(全10問) - give ... はじめに:「初心者は何をアウトプットすればいいの?」問題について 以前から何度か書いているのですが、Ruby初心者の方で「Rubyの勉強を始めました!アウトプットがんば...
class Bingo
   def self.generate_card
      puts " B| I| N| G| O"

      [[*1..15],[*16..30],[*31..45],[*46..60],[*61..75]].map{|s|
          s.sample(5)
      }.transpose.each_with_index{|array, i|
          array[2] = ' ' if i == 2
          puts array.map{|s| s.to_s.rjust(2)}.join('|')
      }
   end
end

Bingo.generate_card

模範解答はrubyすぎてわからないので、Qiitaで調べてわかりそうなものを選びつつ(それでもまったくわからん!)

目次

今日の積み上げ

[1..15] 連続する数字の配列を作るときは[..]Rangeクラスにをつけると展開できる。

.sample()

指定した個数の要素をランダムに取り出す。

[*1..15].sample(5) # => [12, 7, 4, 11, 10]というような形

.trancepose

複数の配列の1番目、2番めと言う形で配列を作り、
行と列の入れ換えをおこなう。

if 修飾子
後置if

ifの書き方がいろいろあるってことだけわかりました。

%2s

フォーマット文字列
‘s’は文字列を出力する

Qiitaに書いたらいいんだろうけど少々ビビってます!

おすすめテキスト

テストを書かれた伊藤さんのチェリー本で勉強しています。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

パソコンとネットの何でも屋さん兼農家見習い中
2021年に奥さんに腎移植して人生の価値観が大きく変わりました
何が起きても諦めずに生き抜く力が一番大切
時々ブログも書いてます

目次