我问这个问题是因为我正在做一个小挑战,所有的测试用例都失败了,我意识到我的代码很好,让我告诉你发生了什么。
所以我有这段代码:
class Person
def initialize(name)
@name = name
end
def printName
return @name
end
end
human = Person.new('Josh')
puts human.printName
输出非常明显,但是当我第一次尝试运行它时,我看到代码中有异常的raise关键字,代码是这样的,并给了我这个错误:
class Person
def initialize(name)
@name = name
raise "Implement intialize method"
end
def printName
return @name
raise "Implement print method"
end
end
human = Person.new('Josh')
puts human.printName
输出:initialize': Implement intialize method (RuntimeError)
一旦我从构造函数中删除了raise关键字,测试用例就成功了,有人能解释一下为什么会发生这种情况吗?
内核的raise
方法,当它在代码中设置时,基本上会引发异常或RuntimeError…似乎挑战期望您实现这些方法(意味着您将删除raise调用)