代码之家  ›  专栏  ›  技术社区  ›  Ivan

如果我们可以不使用括号来定义不需要任何参数的函数,为什么要在scala中使用空括号呢?

  •  17
  • Ivan  · 技术社区  · 14 年前

    据我所知,在scala中,我们可以定义一个没有参数的函数,要么在它的名称后面使用空括号,要么根本没有括号,这两个定义不是同义词。区分这两种语法的目的是什么?什么时候我最好使用一种而不是另一种?

    4 回复  |  直到 7 年前
        1
  •  38
  •   Dave Griffith    14 年前

        3
  •  1
  •   Adam Rabung    14 年前

    person.name
    

    def name = { log("Accessing name!"); _name }
    

    Uniform Access Principal

        4
  •  0
  •   Nirvana    7 年前

    process

    process()