如何在scala中使用'tuple'关键字?

时间:2014-02-24 02:05:13

标签: scala login playframework-2.0 tuples reserved-words

我在学习scala。 对于练习,我正在构建一个登录页面。 为此,我在网上搜索了一些例子。

我发现了一些有趣的代码,如下所示。

  val loginForm = Form(
    tuple(
        "username"->nonEmptyText, 
        "password"->nonEmptyText
    )
  ) 

我想在' - >'之后,它必须是一个保留字,对吧? 我想知道在这个地方有多少保留字。

特别是某些类型的密码。 任何参考或例子将受到极大的欢迎:D

1 个答案:

答案 0 :(得分:4)

->实际上只是一个操作员,可以更轻松地创建Tuple2(或Pair)对象。请参阅the hairy details,了解这样的运营商如何跨不同类型工作。

->运算符的正常/预定义意味着x -> y等同于Tuple2(x, y),其中y只是一个表达式。然后,代码可以在上下文中使用任何表达式(保留字或非保留字)有效

在Play中,请注意nonEmptyText本身只是一个值,不涉及任何保留字。同样,tuple只是Play的一种方法;见Handling form submission