如何在文档中引用实例方法?

7

在撰写文档时,如何引用实例字段?

考虑以下代码:

object Foo {
  val foo = 42
}

class Foo {
  val foo = 42
}

在Java中,"静态"方法可以使用Foo.foo来表示,而实例方法则使用Foo#foo。但在Scala中,#已经被用于路径相关类型。
class Foo {
  class foo
  def foo = 42
}

这是法律代码,所以我不能明确引用它。

有没有一些惯例来规定它应该是什么样子的?

1个回答

4

很难。也许像英语一样,如Foo's foo?我错过了#的歧义。不过,那仍然是我的首选,因为只有在缺乏上下文的情况下才存在歧义。当涉及到类型时,#有一种意义。当涉及到值或方法时,#又有另一个意义。

由于类型和方法/值不共享命名空间,我不认为这里的歧义具有相关性。


我也用 # 来实现这个目的。 - retronym
主要问题是对应ScalaDoc链接的URL应该长什么样?除非选择一个明确的符号,否则没有办法将"上下文"嵌入到URL中... 而且如果我们已经不得不发明一个符号,那么我们也可以在文档中使用它。 - soc
@soc 好吧,但是在ScalaDoc中Foo.foo指的是什么?是object Foo中的type foo还是object Foo中的def foo?这个问题已经存在了。考虑到只有当人们使用相同的标识符命名类型和非类型成员时才会发生这种情况,我建议我们忽略它--或者为两者都解决。此外...如果我没记错,在URL中#具有特殊含义,所以我们不能真正在URL中使用它,对吧? - Daniel C. Sobral
当然,那么有什么好的解决方案吗?看起来我们已经用尽了可以使用的符号... - soc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接