Ruby变量名中使用双下划线

11

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

Article.__elasticsearch__

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

2个回答

15

初始下划线或双下划线基本上表示“特殊/避免覆盖”--这意味着它旨在减少其他人可能定义相同名称的方法/属性的可能性。最常见的情况是__send__

来自Ruby论坛


4

我认为 ElasticSearch 宝石的作者做出了错误的决定。在这个话题的结尾处,Ruby 社区中知名的 Avdi Grimm 不同意 OP 的观点

你之前没有看到它并且觉得它看起来很奇怪有一个原因。那是因为它不符合惯用语。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接