文本中的Ruby类#方法,代码片段中的class.method

时间:2015-05-18 03:23:33

标签: ruby

我刚学会了Array.push(* more_than_one)与Array<<之间的区别。 just_one)但是在评论中的Class#Method和代码段中的Class.method(下面的链接1)中使用了Class#方法而感到困惑。

我读过有关Java#vs的帖子。在回复中(链接2),但没有发现与HTML部分的相关性。

我正在学习Ruby(在rails之前)并且来自C#.NetCF背景(在这里的小lol)并且可以真正帮助解释为什么注释之间的符号不同和代码片段

链接1 Ruby - Difference between Array#<< and Array#push

link 2 Why do some folks use Class#method instead of Class.method in correspondence?

2 个答案:

答案 0 :(得分:2)

这只是用于在编写Ruby代码时区分类/模块方法和实例方法的约定。

您会看到Foo::bar表示类/模块方法,Foo#bar表示实例方法。

请参阅this问题及其答案,以便深入了解不同符号的历史。

答案 1 :(得分:0)

简而言之,它只是一个Ruby 文档约定。

Foo#bar用于课程Foo&#39> 实例方法 bar,您应该在代码中将其称为Foo.new.bar

Foo::bar用于课程Foo&#39> 类方法 bar,您应该在代码中将其称为Foo.bar