3

我正在使用 java 玩 2.0 大约一个月,但有一件事我真的无法理解。模板如何真正起作用?将参数传递给他们的最佳方式是什么?

有什么区别

@(name: String, value: String)

@(name: String)(value: String)

这只是为了方便吗?

我发现这个问题揭开了神秘的面纱,但它并没有说明我应该选择哪种方式。

4

2 回答 2

4

典型的例子是:

// main.scala.html

@(title: String)(content: Html)
....

// index.scala.html

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

和:@(title: String, content: Html)

语法不太好:

@main("Foo Title", {
  <div>...</div>
})
于 2012-05-30T07:00:03.413 回答
3

在第一种情况下,您将多个参数传递给一个函数。在第二种情况下,您正在使用柯里化。根据维基百科:

在数学和计算机科学中,柯里化是一种转换具有多个参数(或参数的 n 元组)的函数的技术,使得它可以被称为一个函数链,每个函数都有一个参数(部分应用) . http://en.wikipedia.org/wiki/Currying

每个用例的最佳选择有所不同。

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

于 2012-05-30T07:47:18.400 回答