1

私は Scala と Play の初心者なので、完全に見逃していますが、ここには単純なものがあるはずです。コードは次のとおりです。

case class ExceptionInfo(ExceptionType: String, Message: String, StackTrace: Seq[String])

object ExceptionInfo
    {
      val excInfoParser = {
        get[String]("ExceptionInfo.ExceptionType") ~ 
        get[String]("Message") ~ 
        get[String]("ExceptionInfo.StackTrace") map {
          case ExceptionType ~ Message ~ StackTrace => ExceptionInfo(ExceptionType, Message, StackTrace.split("\r\n"))
        }
      }
    }

これはコンパイルされず、次の出力が表示されます。

Description Resource            Path                Location                        Type
not found: value ExceptionType  Application.scala   /testme/app/controllers line 40 Scala Problem
not found: value Message        Application.scala   /testme/app/controllers line 40 Scala Problem
not found: value StackTrace     Application.scala   /testme/app/controllers line 40 Scala Problem
not found: value ExceptionType  Application.scala   /testme/app/controllers line 40 Scala Problem

前もって感謝します!

4

1 に答える 1

2

変数に小文字で名前を付けると機能するはずです。

case exceptionType ~ message ~ stackTrace => ExceptionInfo(exceptionType, message, stackTrace.split("\r\n"))

小文字は、バインドされる変数 (探しているもの) と、照合される定数を区別するものです。詳細については、こちらこちらを参照してください。

于 2013-04-11T18:49:54.577 に答える