带有双下划线的Ruby变量名
有时我会在开头和结尾看到带有双下划线的变量名。 例如:
Article.__elasticsearch__
是否有一些与Ruby变量名中的双下划线相关的命名约定?
初始下划线或双下划线基本上表示“特殊/避免覆盖” – 意味着它意味着降低其他人可能定义同名方法/属性的可能性。 最常见的事件是
__send__
。
来自Ruby论坛
ElasticSearch gem的作者错误地调用了IMO。 在线程的最后,在Ruby社区中众所周知的Avdi Grimm 不同意OP 。
有一个原因你还没有看到它,它看起来很奇怪。 这是因为它是单一的。