現在、私はThe Ruby Programming Language
を読んでおり、それは多くの場所でself
の言及をしており、それが正確な使用であることを理解することはできません。その動作はC++のポインタthis
と似ていますが、その2つの違いは何ですか?(私はポインタ逆参照やC++特有の事柄について一般的に質問していません)そしていつ私たちはルビコードでself.something
を使用しますか?ルビーの自己参照とは何ですか?
-1
A
答えて
3
self
は、現在のコードがスコープ内にあるオブジェクトを指す変数です。そのオブジェクトに対してクラスメソッドを呼び出すときは、self.something
を使用します。あなたは次のメソッドを持っていた場合例えば
、:
class Foo
def self.bar
puts "Class method!"
end
end
あなたはFoo.bar
を呼び出すことによってbar
メソッドを呼び出します。
+0
C++の静的メソッドに似ていますか?クラスのすべてのインスタンスは、メソッドの同じコピーを持っていますか? – InQusitive
+0
インスタンスにはインスタンスメソッドが呼び出されますが、この例はクラスメソッドです –
関連する問題
- 1. 自己参照
- 2. 自己参照
- 3. 自己参照外部キーの意味は何ですか?
- 4. Vb.Netでの自己参照
- 5. tsql - 自己参照
- 6. Ocaml自己参照
- 7. 自己参照クラス
- 8. 自己参照ループエラー
- 9. エクト - 自己参照、
- 10. C++自己参照配列ですか?
- 11. BigQuery "ビューは自己参照型です"
- 12. OpenCLの自己参照ポインタ
- 13. 複数の自己参照
- 14. SQLAlchemyの自己参照
- 15. ポリモーフィックhas_manyの自己参照
- 16. TypeScriptの自己参照型
- 17. neo4jの自己参照ノード
- 18. 自己参照矢印の後に何が書けますか?
- 19. 引数としての自己参照
- 20. 自己参照has_manyとbelongs_toの関係
- 21. クラスを自己参照することはできますか?
- 22. クラスを自己参照することはできますか?
- 23. EFコア自己参照
- 24. エンティティフレームワークコア自己参照表
- 25. エンティティフレームワーク自己参照エンティティ
- 26. クラス自己参照問題
- 27. 自己参照汎用型
- 28. 自己参照構造
- 29. Entity Framework自己参照
- 30. 自己参照テーブルLINQ
'self'は現在のオブジェクトを評価します。好奇心が強いときはいつでも 'p self'を試してみてください。 – steenslag