3

これは非常に基本的な Ruby の質問です。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 では、className#Message は className コントローラーの Message アクションにマップされます。

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

これにより、root_path/profile => UserController のメソッド (またはアクション) を表示します。

于 2012-06-13T17:25:50.647 に答える