5
A
答えて
2
これは、インスタンスプロパティー(そのクラスのインスタンス化されたオブジェクトごとに存在するプロパティー)ではなく、クラスプロパティー(クラスに名前を付けたプロパティー)にアクセスすることを意味します。
この例では、@@autoloads
はプログラムの長さの間持続します。
class TestObj
@@prop = 0
def get_prop
@@prop
end
def increment_prop
@@prop += 1
end
end
a = TestObj.new
b = TestObj.new
a.increment_prop
puts b.get_prop # 1
1
1
@@は、クラス変数を示すだけです。
class変数は、クラスのすべてのインスタンス間で共有される変数です。つまり、このクラスからインスタンス化されたすべてのオブジェクトに対して1つの変数値しか存在しません。
クラス変数の考え方の別の考え方は、単一クラスのコンテキスト内のグローバル変数として考えられます。
関連する問題
- 1. Ruby on Rails:=>はどういう意味ですか?
- 2. routes.rbでは、「#」記号はどういう意味ですか? Ruby on Railsには
- 3. Rubyでは、tLABELはどういう意味ですか?
- 4. Rubyこのコード行はどういう意味ですか?
- 5. %%はどういう意味ですか?
- 6. linuxの意味はどういう意味ですか?
- 7. 0x0Fは何を意味していますか?そして、このコードはどういう意味ですか?
- 8. rel属性の "私"はどういう意味ですか?
- 9. Rubyシンボルのコンテキストでは、 "taguri"とはどういう意味ですか?
- 10. 「殺した」とはどういう意味ですか?
- 11. Rubyでは "$$"というトークンは何を意味しますか?
- 12. Ruby on Railsでは「ベンダー」または「ベンダー」という用語は何を意味していますか?
- 13. データクラスという用語はどういう意味ですか?
- 14. パンジャブを使うのはどういう意味ですか
- 15. ディレクトリ名とは何ですか? 'と '..'という意味で、faDirectoryはどういう意味ですか?
- 16. "javascript://"とはどういう意味ですか?そのコードには意味:
- 17. どういう意味ですか? OR?
- 18. この行はPythonではどういう意味ですか?
- 19. gitkではエッジの色はどういう意味ですか?
- 20. このインポートはScalaではどういう意味ですか?
- 21. Rails:「テンプレートをレンダリングする」のはどういう意味ですか?
- 22. Rubyの配列の-1インデックスはどういう意味ですか?
- 23. 「ハードコードされた」とはどういう意味ですか?
- 24. Java NIO:IOException:壊れたパイプはどういう意味ですか?
- 25. 2 .. 1の範囲はどういう意味ですか? (Ruby koans about_arrays.rb)
- 26. 引数のないpaper.path()はどういう意味ですか?
- 27. BackboneJs:elとtagNameの違いはどういう意味ですか?
- 28. ハスケルでは(== "")はどういう意味ですか?
- 29. * =はPythonではどういう意味ですか?
- 30. Coqでは `true = false`はどういう意味ですか?
ただ追加したい、一般的なコンセンサスは、クラスのインスタンス変数をクラスの変数より優先させます。 http://thinkrelevance.com/blog/articles/2006/11/16/use-class-instance-variables-not-class-variables – Dty
Symbolhoundは、このようなものを検索するのに便利です。 –