Java 在模板参数中使用2.0括号

Java 在模板参数中使用2.0括号,java,scala,playframework-2.0,Java,Scala,Playframework 2.0,我使用java的Play2.0工作了大约一个月,有一件事我真的无法理解。模板是如何工作的?向他们传递参数的最佳方式是什么 两者之间有什么区别 @(name: String, value: String) 及 这只是为了方便吗 我找到了揭开秘密面纱的问题,但它并没有告诉我应该选择哪种方式。典型的例子是: //main.scala.html @(title: String)(content: Html) .... @main("Foo Title") { <div>this co

我使用java的Play2.0工作了大约一个月,有一件事我真的无法理解。模板是如何工作的?向他们传递参数的最佳方式是什么

两者之间有什么区别

@(name: String, value: String)

这只是为了方便吗


我找到了揭开秘密面纱的问题,但它并没有告诉我应该选择哪种方式。

典型的例子是:

//main.scala.html

@(title: String)(content: Html)
....
@main("Foo Title") {
  <div>this content Html param passed in as a block {}</div>
}
//index.scala.html

@(title: String)(content: Html)
....
@main("Foo Title") {
  <div>this content Html param passed in as a block {}</div>
}

在第一种情况下,将多个参数传递给函数。在第二种情况下,您使用的是咖喱。根据维基百科:

在数学和计算机科学中,curry是一种转换函数的技术,该函数采用多个参数(或n个参数元组),其调用方式可以是函数链,每个函数都有一个参数(部分应用)

每个用例的最佳区别是什么


编辑:注意模板只是Scala函数。

还有一个问题:{}方括号是否仅用于HTML?@AlexPovar在本例中,是的,方法参数是HTML类型;-)您可以在任何地方应用它,而不仅仅是模板层,它是Scala语言本身的一部分;如果您有def foo(a:Int)(b:Unit)=b,您可以像foo(1){println(“bar”)}O一样调用它,谢谢。今天我脑子里的函数式编程太多了:)