有时我会在开头和结尾看到带有双下划线的变量名称。例如:
Article.__elasticsearch__
是否有一些与Ruby变量名中的双下划线相关的命名约定?
答案 0 :(得分:10)
初始下划线或双下划线基本上表示 “特别/避免覆盖” - 意味着它意味着减少 其他人可能定义的方法/属性的可能性 一样的名字。最常见的情况是
__send__
。
答案 1 :(得分:2)
ElasticSearch gem的作者错误地调用了IMO。在线程的最后,Avdi Grimm,在Ruby社区中很有名,disagrees with the OP。
有一个原因你还没有看到它,它看起来很奇怪。这是因为它是单一的。