带有双下划线的Ruby变量名

有时我会在开头和结尾看到带有双下划线的变量名。 例如:

Article.__elasticsearch__ 

是否有一些与Ruby变量名中的双下划线相关的命名约定?

初始下划线或双下划线基本上表示“特殊/避免覆盖” – 意味着它意味着降低其他人可能定义同名方法/属性的可能性。 最常见的事件是__send__

来自Ruby论坛

ElasticSearch gem的作者错误地调用了IMO。 在线程的最后,在Ruby社区中众所周知的Avdi Grimm 不同意OP 。

有一个原因你还没有看到它,它看起来很奇怪。 这是因为它是单一的。