【发布时间】:2016-04-08 18:41:55
【问题描述】:
我正在尝试实现一个可以接受可变数量的按名称参数的控制流结构。
请参阅CalculateGroup 方法及其使用。
我尝试关注this post,但仍有一些问题
从错误中可以看出,我怀疑我需要在CalculateGroup 函数中定义类型注释谓词?
这是当前代码:
def compare[T : Numeric](x: T)(y: T) : Boolean = implicitly[Numeric[T]].gt( x, y )
val items = compare[Double](10) _
val assertionsEnabled = true
def Calculate( predicate: => Boolean ) =
if (assertionsEnabled && !predicate)
throw new AssertionError
Calculate{
items(5)
}
def CalculateGroup( list: (predicate: => Boolean) *) =
{
list.foreach( (p : (predicate: => Boolean) ) => {
if (assertionsEnabled && !predicate)
throw new AssertionError
})
}
CalculateGroup{
items(5),
items(3),
items(8)
}
错误详情:
scala ControlFlow.scala /Users/pavel/Documents/ControlFlow/ControlFlow.scala:36: 错误:')' 预期但 ':' 找到。 def CalculateGroup(list: (predicate: => Boolean) *) = ^ /Users/pavel/Documents/ControlFlow/ControlFlow.scala:68: 错误:')' 预期但 '}' 找到。 } ^ 发现两个错误
【问题讨论】:
标签: scala