As far as I know, Ruby has some convention on letter capitalization. Does it have any convention about :UPPERCASE_SELECTORS
?
问问题
183 次
1 回答
2
你说的是语言还是社区?
在该语言中,没有什么可以阻止您在方法名称和/或消息选择器中使用所需的任何 Unicode 字符。可能无法通过定义它们def
或通过调用它们.
,但可以使用反射。
如果你想通过定义它们def
或者用 调用它们.
,那么还有很大的空间:名称需要以下划线或字母开头(Unicode 字母完全可以,即µ
是一个完全有效的方法名称),然后是任意数量的字母、数字和下划线,可选择以问号、感叹号或等号结尾。
以大写字母开头、包含大写字母甚至完全大写都是完全有效的。
然而,它不是惯用的。反正通常不会。惯用的方法名称是snake_case
,即以小写字母开头,由下划线分隔的小写单词组成,仅包含 ASCII 字符。
然而,也有例外。特别是,旨在作为特定类的工厂伙伴的方法可能与相应的类具有相同的名称。例如,将其参数转换为数组、哈希、字符串、浮点数或Kernel#Array
整数Kernel#Hash
的Kernel#String
方法Kernel#Float
。Kernel#Integer
另一个例外是旨在像参数类一样使用的Object#DelegateClass
方法,例如delegate
stdlib 中库中的方法,它接受一个类并返回该类的包装类,因此可以像这样使用它:
class MyArray < DelegateClass(Array); end
于 2013-03-06T02:09:36.657 回答