假设我有课Player,我想要一个布尔方法来检查玩家是否受到攻击:
class Player
attr_accessor :name, :health, :attacked?
def initialize(name)
@name = name
@health = 100
@attacked? = false
end
end
Run Code Online (Sandbox Code Playgroud)
我收到语法错误:
SyntaxError: (irb):14: syntax error, unexpected '='
@attacked? = false
^
from /usr/bin/irb:12:in `<main>'
Run Code Online (Sandbox Code Playgroud)
删除问号attacked可解决问题,但我认为最好遵循惯例来处理attacked?我的代码.这不是什么大不了的事放弃了问号,但为什么zero?和nil?习惯时@variables?和def methods?=无效?