Scala断言

Posted 智能先行者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scala断言相关的知识,希望对你有一定的参考价值。

断言:提供了一组断言函数以用作在代码中记录和动态检查不变量的方式。

import scala.Predef._

def addNaturals(nats: List[Int]): Int = {
    // assert(nats forall (_ >= 0), "List contains negative numbers")
    require(nats forall (_ >= 0), "List contains negative numbers")
    nats.foldLeft(0)(_ + _)
          } ensuring (_ >= 0) // 这里的"_"是函数的返回值

scala> addNaturals(List(-1, -2, 2, 3))
java.lang.IllegalArgumentException: requirement failed: List contains negative numbers
  at scala.Predef$.require(Predef.scala:224)
  at addNaturals(<console>:50)
  ... 56 elided

  
scala> addNaturals(List(1, 2, 3, 4, 10))
res15: Int = 20

 

以上是关于Scala断言的主要内容,如果未能解决你的问题,请参考以下文章

postman添加断言

Scala断言

使用 Scala 从 SBT 获取堆栈跟踪

Scala 编译器中的错误:java.lang.AssertionError:断言失败(即使在 Eclipse 中指定了项目依赖项)

当子类使用val实现它时,超类中的Scala抽象方法为null?

Java 的参数检查与断言 - Guava Preconditions