Ruby 两个冒号

xiaoronglv · November 20, 2012 · Last by devinhuang replied at March 13, 2017 · 9515 hits

两个冒号是什么意思啊,求官方文档。

namespace,官方文档不知道,下面这个是 rubymonk 上的一段相关讲解: http://rubymonk.com/learning/books/1/chapters/35-modules/lessons/80-modules-as-namespaces

无语 ...

不过还是解释下吧。你可以称其为 调用分隔符, 和方法调用符号 . 一样的。只不过,:: 习惯上用于引用一个常量,而 . 习惯上用于引用一个方法。

其实我惊讶的是你的第一句话... 一直在使用 难道你真的可以不了解你的代码么?那肿么写代码啊?难以想象

#3 楼 @sailtsao 看了 code_campo 的源码,

每天我都抽时间重复敲一些 code_campo 的代码。

敲过,但不理解

#4 楼 @xiaoronglv 哦,那其实应该找一些 ruby 语法的入门书然后看看元编程再看看源码吧,否则的话想理解完整源码很难的。由于我现在还处在熟悉 rails 各个领域的阶段,所以更多的建议我是提不了了。

#1 楼 @scys77 #2 楼 @zw963

感谢两位的回复。刚刚读了这篇文档. http://rubymonk.com/learning/books/1/chapters/35-modules/lessons/80-modules-as-namespaces

图片中的两个冒号应该是 namespace, 不是引用常量吧。

其实双冒号也可以用来调用方法

例如:

class B
  def b
    puts 'hello'
  end
end

B:: new::b  (去掉new前面的空格)
B.new.b

效果是等价的

语法问题还是建议看看书吧。自己不学习而仅靠问问题成为绝顶高手的人,我没见过

#8 楼 @fsword

嗯。感谢您的建议。

😄

#8 楼 @fsword +1

@xiaoronglv , 是你自己说不明白 所以然, 所以告诉你所以然嘛。

你说的 namespace, 是知其然, 不要孤立的看问题。

11 Floor has deleted

看了上面的回答,感觉前辈们的心态都很浮躁,有的还甚至装逼,这样子国人如何共同进步?! 下面是我整理的两个我认为比较靠谱的回答。

You need to Sign in before reply, if you don't have an account, please Sign up first.