Seb*_*ian 3 parameters scala function
我在几个框架中发现了以下函数调用,在我看来,好像框架扩展了一些基类.一些例子:
within(500 millis)
Run Code Online (Sandbox Code Playgroud)
要么
"Testcase description" in
{ .... }
Run Code Online (Sandbox Code Playgroud)
第一个示例从akka返回持续时间为500毫秒的持续时间对象,第二个示例是从scalatest定义的测试用例.
我想知道如何实现这种行为以及如何调用它.
Itt*_*ayD 10
这是通过" Pimp my library " 技术完成的.
要将非现有方法添加到类中,可以定义一个隐式方法,该方法将该类的对象转换为具有以下方法的类的对象:
class Units(i: Int) {
def millis = i
}
implicit def toUnits(i: Int) = new Units(i)
class Specs(s: String) {
def in(thunk: => Unit) = thunk
}
implicit def toSpecs(s: String) = new Specs(s)
Run Code Online (Sandbox Code Playgroud)