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

何时使用“”(空格)以及何时使用dot)在Scala中调用方法时?

  •  28
  • OscarRyz  · 技术社区  · 14 年前

    我见过Scala可以互换地使用这两种语言,但我不知道什么时候该使用其中一种。

    有约定吗?

    例如,它们是等价的

    "hello" toString 
    

    "hello".toString()
    

    它们甚至可以混合在一起

    "hello".toString() length 
    

    2 回复  |  直到 14 年前
        1
  •  7
  •   huynhjl bhericher    14 年前

    unofficial style guide . 它有一些关于何时使用点符号,何时删除点和括号的建议,并且通常为建议提供一个简短的理由,你可能同意也可能不同意,但至少这是一个起点。

    name toList 根据下一行的内容可能会有不同的表现。

    我个人会写 hello.toString.length 假设所有调用都没有副作用(因此我去掉括号),然后我必须保留点以便编译。

        2
  •  10
  •   mipadi    14 年前

    当方法的功能类似于运算符时,通常使用空间约定( + , *

    (我知道这个解释有点含糊,但并没有一个确切的用法规则。)