3

这是一个非常基本的红宝石问题。ClassName#message和 和有什么不一样ClassName.message

我正在阅读基本的 Ruby 指南,我看到这两个参考资料都被大量使用。似乎主要在代码ClassName.message中使用但在文档ClassName#message中使用。

#简单的文档约定吗?只有.在实际代码中传递消息的工作?或者有什么我只是想念的东西?

Rails 中的含义是否完全不同?

4

3 回答 3

13

在您使用的代码object.method中。然而,在文档中,Class#method表示实例方法(例如String#upcase),而Class.methodorClass::method表示类/模块方法(例如Math.log10)。

于 2012-06-13T17:21:58.510 回答
4

#文档中用于指出类方法和实例方法之间的区别。

在代码中,您将.在所有情况下使用。

于 2012-06-13T17:20:27.200 回答
-1

'#' 是 Rails 约定。在 rails className#Message 将映射到您的 className 控制器的 Message 操作。

Ex:
   match "profile" => "users#show"

这将映射 root_path/profile => 显示 UserController 的方法(或操作)。

于 2012-06-13T17:25:50.647 回答