Scala中带中间计算的模式匹配

Scala中带中间计算的模式匹配,scala,Scala,我想写一个简单的函数后缀,如果你通过 1,它返回“st”,2返回“nd”等 我看了教程,但找不到函数失败的原因,出现了以下错误 java.lang.RuntimeException: todo at scala.sys.package$.error(package.scala:27) at .suffix(<console>:19) ... 33 elided 我刚开始学习它,不知道为什么这个函数不起作用,因为我提取了最后一个数字,匹配它,并返回函数中表示的字符串。如何

我想写一个简单的函数后缀,如果你通过 1,它返回“st”,2返回“nd”等

我看了教程,但找不到函数失败的原因,出现了以下错误

java.lang.RuntimeException: todo
  at scala.sys.package$.error(package.scala:27)
  at .suffix(<console>:19)
  ... 33 elided

我刚开始学习它,不知道为什么这个函数不起作用,因为我提取了最后一个数字,匹配它,并返回函数中表示的字符串。

如何调用这个函数?我已经在scala工作表中测试了它,效果很好。同上@Mustafa。我在REPL中运行了它,效果很好,带有消息todo的
RuntimeException
看起来有点像自制的。还有什么被省略了?你的代码中有什么断言吗?嗯,对我来说是一团糟。我定义了一个函数并添加了一个sys.error(“todo”)来记住完成它。这个定义高于其他一些函数,因此我再次加载了文件,并在文件顶部再次编写了函数定义。我编写了两个相同的函数,但忘记删除带有sys.error提醒的函数。初学者的错误。。
def suffix(n: Int): String = {
  val remainder = n % 10;

  println(remainder);

  remainder match {
    case 1 => "st";
    case 2 => "nd";
    case 3 => "rd";
    case _ => "th"
  }
}