クラスがPlayer
あり、プレイヤーが攻撃されているかどうかをブール値メソッドで確認したいとします。
class Player
attr_accessor :name, :health, :attacked?
def initialize(name)
@name = name
@health = 100
@attacked? = false
end
end
構文エラーが発生します。
SyntaxError: (irb):14: syntax error, unexpected '='
@attacked? = false
^
from /usr/bin/irb:12:in `<main>'
から疑問符を削除すると問題は解決しますが、コードにattacked
含める規則に従う方がよいと思いました。attacked?
疑問符を無視するのは大したことではありませんが、なぜとが無効な場合にzero?
とnil?
の慣習があるのでしょうか?@variables?
def methods?=