見つかったバグ
結果表示画面を見ると、1つズレて出力されてしまっています。
本来2つの4は、1つ前の人の最後の行に入るべきところが、次の人の最初の行に入ってしまっています。
現状の確認
全員分の得点を1つの配列に格納したあと、11ずつ区切って1人ごとに分けていました。
11ずつ区切る理由は、1人分のデータが11項目を持つためです。
現在、11ずつ区切ると1つ余りが出てしまっています。
よく見ると題
、い
という得点以外のデータが入っています。
本来、数値または読みとり不可
しか許可していないので、これらはバグです。
convert_one_into_slash
メソッドの処理を通した後は、
各行が要素にスラッシュ/
を持つ配列またはnil
のいずれかを返します。
そもそもnilだったら返さないようにしました。
なぜ「題」「い」が入ったのか?
紙には0/1
と書かれているところが、0が読み取られず/1
となり、他の文字列と結合する形で出力されていました。
この場合は得点を読み取れていないので、読みとり不可
と出力させるようにしました。
正規表現で「0〜6の数値以外+スラッシュ+0〜6の数値」に該当した場合は読みとり不可
と出力させるようにしました。
"調べる文字列".match?(/^[0-9]\/[0-6])