Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法重构Scala代码以使其更具可读性_Scala_Playframework 2.6 - Fatal编程技术网

无法重构Scala代码以使其更具可读性

无法重构Scala代码以使其更具可读性,scala,playframework-2.6,Scala,Playframework 2.6,我很难理解Scala,因此我想重构一段代码,使其更容易去糖化。但我不能这样做 原始代码是 def index(signupMessage:String = "") = addToken { //addToken is of CSRFAddToken silhouette.UserAwareAction { implicit request => println(s"index action called with request ${utilities.pr

我很难理解Scala,因此我想重构一段代码,使其更容易去糖化。但我不能这样做

原始代码是

def index(signupMessage:String = "") = addToken { //addToken is of CSRFAddToken
        silhouette.UserAwareAction { implicit request =>
        println(s"index action called with request ${utilities.printPlayHttpRequest(request)}")
          //TODOM - fix as signup value is coming up as ;signup=error or ;signup=success instead of just success or error
        println(s"index page's argument "+signupMessage)
        val Token(name, value) = CSRF.getToken.get
        println(s"Token name ${name}, value ${value}")
        Ok(views.html.index(signupMessage,messagesApi("app.title")(langs.availables(0))))
      }
    }
我想消除代码中的糖分,使调用更加明确。我在想下面这一行

def index(signupMessage:String = "") = {
    val block:Action[AnyContent] = (implicit request) =>{ //THE ERROR IS HERE - '=>' expected but ')' found
      println(s"index action called with request ${utilities.printPlayHttpRequest(request)}")
      //TODOM - fix as signup value is coming up as ;signup=error or ;signup=success instead of just success or error
      println(s"index page's argument "+signupMessage)
      val Token(name, value) = CSRF.getToken.get
      println(s"Token name ${name}, value ${value}")
      Ok(views.html.index(signupMessage,messagesApi("app.title")(langs.availables(0))))
    }
    val silhouttedCode = silhouette.UserAwareAction.apply(block)
    addToken.apply(silhouettedCode)
  }

上面的代码不可编译。我做错了什么?

我想你需要像这样写你的
动作

val block = Action { implicit request =>
  // Rest of code here
}

请参阅。

编译错误是什么?我将其添加为注释-//错误在这里-“=>”预期为“”,但“')”发现如果删除“隐式请求”周围的paren会发生什么?