ruby的:到底是什么
ruby的::到底是什么?昨天在stack overflow上问了2个关于Rspec源码的问题,结果由于表意不清加之问题含糊被
ruby的::到底是什么?
昨天在stack overflow上问了2个关于Rspec源码的问题,结果由于表意不清加之问题含糊被老外鄙视了一遍。但是没有想到的是,竟然还是高人非常清楚的问答了出来。其中一个问题是这样的:
class OptionParser < ::OptionParser
这句代码究竟是什么意思?
原来这句话的作用是定义1个OptionParser类,其集成至ruby核心库的OptionParser。这句话里面的
::表示强制使用核心库的namespace。万恶的ruby语法。
1 楼 chloerei 2011-07-08 我雷到了,::表示顶层namespace,不然在namespace里面有同名模块/类的时候怎么引用外面的模块/类?这也能得出“万恶”? 2 楼 jinleileiking 2011-07-18 他只是泄愤而已。