演習課題「標準入力から、2次元配列を読み込む」
右のコードエリアには、「A」という文字のドットデータを標準入力から読み込むコードがあります。
このデータを2次元配列に格納して、pメソッドで出力してください。
プログラムを実行して、正しく出力されれば演習課題クリアです!
期待する出力値
[["0", "0", "1", "1", "0", "0"], ["0", "1", "0", "0", "1", "0"], ["1", "0", "0", "0", "0", "1"], ["1", "1", "1", "1", "1", "1"], ["1", "0", "0", "0", "0", "1"], ["1", "0", "0", "0", "0", "1"]]
#11:標準入力から2次元配列
ここでは、標準入力から2次元配列を読み込んでみます。複数行のカンマで区切ったデータを用意して、それを2次元配列に割り当てます。
enemy_img = []
while line = gets
line.chomp!
enemy_img.push(line.split(","))
end
p enemy_img
0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0
1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1
1,0,0,1,1,1,0,0,0,1,1,1,0,0,0,1
1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1
0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0
0,0,0,1,1,1,0,0,0,0,0,1,1,1,0,0
0,0,0,0,1,1,1,0,0,0,0,0,0,1,1,1
enemy_img = []
while line = gets
line.chomp!
enemy_img.push(line.split(","))
end
enemy_img.each do |line|
line.each do |dot|
if dot.to_i == 1
print "#"
else
print " "
end
end
puts ""
end
# 標準入力とループ処理
count = gets.to_i
puts("データ個数 #{count}")
for i in 1..count
line = gets
puts "hello #{line}"
end
文字列の末尾の改行コードを取り除きます。line = gets.chomp
- instance method String#chomp (Ruby 2.3.0)
https://docs.ruby-lang.org/ja/latest/method/String/i/chomp.html
class Array (Ruby 2.4.0)
https://docs.ruby-lang.org/ja/latest/class/Array.html