红宝石文档 "::" vs "#"



我是Ruby的新手。

有人能向我解释一下Ruby文档中为类列出的方法前面的字符之间的区别吗?

这里有一个例子:对于String类,字符::::new::try_convert之前,而##chomp等方法之前。

它指定方法的"级别"。::用于类级方法,#用于实例级方法。

例如,当您看到String::new时,您知道必须在String类上直接调用

s = String.new # silly example, because nobody does that.

但是,当您看到String#gsub时,您就知道需要String实例来调用此方法

String.gsub # uh-oh, won't work
s = "I like coffee"
s.gsub('coffee', 'tea') # => "I like tea"

最新更新