【Ruby】多重配列の要素をマス目のように縦横で出力する方法

Ruby

Rubyでマス目のように縦横等間隔で出力する方法

競技プログラミングとかやっていると、二重配列の要素を縦横一定の感覚を開けてマス目状に綺麗に出力したい時があると思います。

例えばこれが、

[
  [1, 1, 1],
  [2, 2, 2],
  [3, 3, 3]
]

こんな感じで

1 1 1
2 2 2
3 3 3

Rubyでは以下の構文を使えば簡単に実現することができます。

多重配列.map{|array|
  puts array.map{|element| element.to_s }.join(' ')
}

具体的なコード例

実際に動作を試して確認してみましょう。

上記の例と同じ二重配列を使用します。

sample = [
  [1, 1, 1],
  [2, 2, 2],
  [3, 3, 3]
]

sample.map{|array|
  puts array.map{|element| element.to_s }.join(' ')
}

出力結果は以下の通りです。

1 1 1
2 2 2
3 3 3

ちゃんと期待通りの出力がされてますね。

何かしたいと思った時、Rubyは結構なんでも柔軟にできますね。

タイトルとURLをコピーしました