在撰写文档时,如何引用实例字段?
考虑以下代码:
object Foo {
val foo = 42
}
class Foo {
val foo = 42
}
在Java中,"静态"方法可以使用
Foo.foo
来表示,而实例方法则使用Foo#foo
。但在Scala中,#
已经被用于路径相关类型。class Foo {
class foo
def foo = 42
}
这是法律代码,所以我不能明确引用它。
有没有一些惯例来规定它应该是什么样子的?
在撰写文档时,如何引用实例字段?
考虑以下代码:
object Foo {
val foo = 42
}
class Foo {
val foo = 42
}
Foo.foo
来表示,而实例方法则使用Foo#foo
。但在Scala中,#
已经被用于路径相关类型。class Foo {
class foo
def foo = 42
}
这是法律代码,所以我不能明确引用它。
有没有一些惯例来规定它应该是什么样子的?
很难。也许像英语一样,如Foo's foo
?我错过了#
的歧义。不过,那仍然是我的首选,因为只有在缺乏上下文的情况下才存在歧义。当涉及到类型时,#
有一种意义。当涉及到值或方法时,#
又有另一个意义。
由于类型和方法/值不共享命名空间,我不认为这里的歧义具有相关性。
Foo.foo
指的是什么?是object Foo
中的type foo
还是object Foo
中的def foo
?这个问题已经存在了。考虑到只有当人们使用相同的标识符命名类型和非类型成员时才会发生这种情况,我建议我们忽略它--或者为两者都解决。此外...如果我没记错,在URL中#
具有特殊含义,所以我们不能真正在URL中使用它,对吧? - Daniel C. Sobral