scala play框架定义了名为' new'

时间:2015-12-05 16:55:42

标签: scala playframework

是否可以定义函数/操作名称new

例如:

def new = Action { ... }

更确切地说,如果我想创建一个名为new的路由,我如何使用Scala和Play框架来实现这一目标?

P.S。

我认为由于new是一个关键字,因此无法实现。

为了创建路线new,只需映射到名称不完全相同的动作,例如_new

无论如何我在问,因为也许有一种方法可以在Scala中定义一个名为new的函数。

2 个答案:

答案 0 :(得分:4)

在Scala中,你可以使用方法,变量或其他你喜欢的反引号来为它们提供保留关键字的名称。

因此,在您的情况下,您可以使用def `new` = ???

答案 1 :(得分:3)

路线名称并不需要与操作名称相同,因为new是Scala中的保留字,您无法将其直接用作操作名称,因此将其重命名为:

def newAction = Action { ... }

然后使用如下路线:

GET   /new   controllers.Application.newAction

一般情况下,对方法,视图,变量等名称使用受限制的关键字是个坏主意,它特别喜欢在几个小时的工作后报复。