带有双下划线的Ruby变量名

问题描述 投票:0回答:2

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

Article.__elasticsearch__

Ruby 变量名中是否存在与双下划线相关的命名约定?

ruby naming-conventions
2个回答
15
投票

首字母下划线或双下划线基本上表示 “特殊/避免覆盖”——意味着它的目的是减少 其他人可能定义方法/属性的可能性 一样的名字。最常见的情况是

__send__

来自Ruby论坛


4
投票

ElasticSearch gem 的作者在我看来是错误的。在帖子的最后,Ruby 社区中知名的 Avdi Grimm 不同意 OP

有一个原因你还没有看到它并且它对你来说看起来很奇怪。因为它不符合习惯。

© www.soinside.com 2019 - 2024. All rights reserved.