【发布时间】:2013-09-13 21:41:23
【问题描述】:
如果我正在编辑 Array 类,我是否必须使用 self 定义每个方法(例如 self.sum)。我不确定为什么这会通过'Test-First' Ruby 轨道的 rpsec 测试,而没有紧跟 def 的 self.method。
class Array
def sum
count = 0
self.each {|x| count += x}
count
end
def square
self.map {|x| x * x}
end
def square!
self.map! {|x| x * x}
end
end
【问题讨论】:
-
什么是 Test-First RSpec 测试?
-
顺便说一句:你可以写
sum更短:def sum; reduce(&:+); end。也不需要self.之前的map、map!和each。 -
我认为 OP 指的是Learn ruby Test-First course。不过,不知道他试图解决哪一课。
标签: ruby rspec class-method test-first