0
這是我用於Naughts and Crosses(tic-tac-toe)遊戲的代碼的一部分。Ruby:未定義的局部變量(NameError) - 但它被定義爲
positions = [" ", " ", " ", " ", " ", " ", " ", " ", " "]
# Returns .. 1 = Square already owned, 2 = Blank square, 0 = Enemy square
def check_square(side, square)
if positions[square] == side
state = 1
elsif positions[square] == B
state = 2
else
state = 0
end
return state
end
當我運行程序出現錯誤:
in `check_square': undefined local variable or method `positions' for main:Object (NameError)
但是它的字面定義的正上方。我已經在自己的.rb中運行了代碼片段,它工作正常,所以我不明白爲什麼它不起作用。我必須假設它與職位的範圍有關,但至少對我來說(初學者程序員),我不明白爲什麼它不能在這裏工作,但在自己的程序中。
任何幫助很樂意欣賞。
謝謝,我已將它設置爲全局變量,現在它似乎工作! –
但是,在面向對象編程中不推薦使用全局變量。 – sawa
你會推薦我用什麼來代替? –