[英]How can I return None or throw an exception if no implicit defined?
我有這個功能:
case object Evaluator {
import Ordering.Implicits._
def eval[T: Ordering](x: T, y: T): Boolean = Some(x < y)
}
我希望在使用時將不支持的對象發送到eval函數以返回None的情況下。 例如:
case object Bar
assert(Evaluator.eval(Bar, 1) == None)
我怎樣才能做到這一點 ?
嘗試為隱式參數提供默認值。
case object Evaluator{
import Ordering.Implicits._
def eval[T](x: T, y: T)(implicit ev:Ordering[T] = null):Boolan =
if(ev == null)
None
else
Some(x < y)
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.