新手问题 发现一个问题,想请教请 Ruby 中 '::' 和 '.' 这两个有什么关系?

yirolhao · December 27, 2016 · Last by easonlovewan replied at December 30, 2016 · 1804 hits

比如,我写一个类

class MyClass
  def self.yourname
    "bala"
  end  
end

MyClass::yourname
MyClass.yourname
#都可以访问,调用那个方法

如果类里面定义一个常量,'.'不适用,貌似只能调用方法。 这两兄弟怎么回事?

好的,去看看。

看了一下,简单来说就是

  • 区别很小,当你像这样调用一个 class 里的 method 时,::.没有区别,只是审美不同,Foo::Bar::open可能比Foo::Bar.open这样看起来更美观
  • 但是你可以用::访问一个常量,而.不能

看看最佳实践吧,上面有介绍

建议:调用方法时用.,不建议用::,因为通常情况下::是用来调用一个常量的

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