ボウリングの電卓を作成しようとしていますが、これはテキスト文書からボウリングスコアを取り出し、配列に変換してからRubyで計算します。今まで私はこれを持っていますが、コードを実行しようとすると構文エラーが発生します。どんな助けもありがとう!Rubyでボーリング電卓を作成するときのトラブル
bowling.rb:65: syntax error, unexpected end-of-input, expecting keyword_end
更新:私は、もはや構文エラーを見ているが、私は何も出力を取得していない...私の初心者の自分を助けてくれてありがとう
def read_ragged_array(the_filename)
ragged_array = [nil]
File.open(the_filename, "r") do |f|
while line = f.gets
fields = line.chomp.split(" ")
row = [ ]
fields.each do |field|
row << field.to_i
end
ragged_array << row
end
end
return ragged_array
end
def frame_score(the_frame, bonus1, bonus2)
if (the_frame[0] == 10) #strike
return 10 + bonus1 + bonus2
elsif (the_frame[0] + the_frame[1] == 10) #spare
return 10 + bonus1
elsif (the_frame[0] + the_frame[1] < 10) #empty
return the_frame[0] + the_frame[1]
end
frames = read_ragged_array("game1.txt")
sco = 0
for i in 1..10
if frames[i][0] == 10 && frames[i+1][0] == 10
bonus1 = 10
bonus2 = frames[i+2][0]
elsif frames[i][0] == 10 && frames[i+1][0] < 10
bonus1 = frames[i+1][0]
bonus2 = frames[i+1][1]
elsif frames[i][0] + frames[i][1] == 10
bonus1 = frames[i+1][0]
bonus2 = 0
else
bonus1 = 0
bonus2 = 0
end
end
frame_score(frames[i], bonus1, bonus2) + sco = x
print x
end
エラーが返さはありません!最後の行に
while line = f.getsa
とend
:(コードを反映するように更新されました)
また、構文エラーで貼り付けてください。 – splrs
申し訳ありません! "ruby -w'を実行し、特に "インデントの不一致"のようなものを読んでください –
vendingMachineCoder123
しかし、私が修正した2つのインデントエラーは、今は出力されません。 –