【发布时间】:2010-05-19 14:30:17
【问题描述】:
在 API 文档中,有时甚至在 Stack Overflow 上的讨论中使用,我有时会看到使用井号 (#) 字符而不是点 (.) 作为类名和方法名之间的分隔符。例如:
Settings#maxPageSize
我想知道这种用法是什么意思,它来自哪里?
【问题讨论】:
标签: ruby documentation
在 API 文档中,有时甚至在 Stack Overflow 上的讨论中使用,我有时会看到使用井号 (#) 字符而不是点 (.) 作为类名和方法名之间的分隔符。例如:
Settings#maxPageSize
我想知道这种用法是什么意思,它来自哪里?
【问题讨论】:
标签: ruby documentation
假设您的意思是 Ruby(这是我能想到的第一种具有这种约定的语言),这里解释一下:
Why are methods in Ruby documentation preceded by a hash sign?
【讨论】:
我一直认为区别在于 Settings.maxPageSize 似乎暗示您实际上可以写出它(即它是一个 static 方法),并且英镑是用来表示它只是一个方法的引用,而不是你可以执行的一段代码。
虽然我可能完全错了 =)
因此,对于静态方法,您实际上可以引用它们 Settings.maxPageSize,但对于实例方法,您可以选择提出一个新约定,例如 Array#sort 来表示正在发生一些特殊的事情,或者,为了达到同样的完整性,你必须写
myArray.sort // when myArray is of the type Array
编辑
Amadan 的回复似乎证实了我的解释,除了 Settings.maxPageSize 也没有用于静态方法;相反,那将是Settings::maxPageSize,而. 完全保留用于示例代码,这对我来说很有意义。
【讨论】: