問題タブ [class-instance-variables]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
34652 参照

ruby - Rubyのattr_accessorは、インスタンス変数の代わりにクラス変数またはクラスインスタンス変数をどのように生成できますか?

を持つクラスがある場合attr_accessor、デフォルトでは、対応するゲッターとセッターとともにインスタンス変数を作成します。しかし、インスタンス変数を作成する代わりに、代わりにクラス変数またはクラス インスタンス変数を作成する方法はありますか?

0 投票する
3 に答える
1668 参照

ruby - Ruby には、次の構文の関連アプリケーションがあります: class << self ... end

上記の構文は、クラス インスタンス変数の定義に使用されます。しかし、構文が何を意味するかを考えると、意味が分からないので、このタイプの構文が他のタイプの定義に使用されているかどうか疑問に思っています。ここでの私の混乱のポイントはこれです:

通常、append 演算子は「右側にあるものを左側にあるオブジェクトに追加する」ことを意味します。しかし、このブロックのコンテキストでは、「このブロックの内容をインスタンスではなくクラス インスタンスの定義に入れる」ことはどのように行われるのでしょうか?

同じ理由で、あるコンテキストクラスで << self がクラスインスタンス変数を定義できるのに、別のコンテキストクラスでは次のようなクラス変数を作成するように見える理由について混乱しています。

0 投票する
4 に答える
1239 参照

ruby - Ruby では、クラス メソッドのコンテキストで、インスタンス変数とクラス変数とは何ですか?

次の Ruby コードがあるとします。

@blih と @@bloh とは正確には何ですか? @blih は Blah クラスのインスタンス変数で、@@bloh は Blah クラスのクラス変数ですね。@@bloh は Blah のクラスである Class の変数ということですか?

0 投票する
2 に答える
1415 参照

ruby - Rubyで@@class_variablesを避ける必要があるのはなぜですか?

@@class_varRubyではクラス変数(例)を避け、@instance_var代わりにクラススコープでインスタンス変数(例)を使用する必要があると言う人もいます。

Rubyでクラス変数の使用が嫌われるのはなぜですか?

0 投票する
3 に答える
33021 参照

ruby - クラス変数とクラスインスタンス変数の違いは?

クラス変数とクラスインスタンス変数の違いについて教えてもらえますか?

0 投票する
2 に答える
3020 参照

ruby - 実行時にRubyクラスにクラスインスタンス変数とattr_readerを追加しますか?

実行時にクラス インスタンス変数、そのデータ、および attr_reader を追加するにはどうすればよいですか?

たとえば、このクラスが与えられた場合

これで、次のように呼び出すことができます。

0 投票する
2 に答える
109 参照

ruby - クラス変数

説明してください、理解できません。

変数オブジェクトクラスとクラス変数の利点は何ですか? いつ最初に使用する必要があり、どの場合に 2 番目を使用する必要がありますか?

0 投票する
1 に答える
206 参照

java - クラスインスタンスの問題、Android

メインクラスにビットマップとキャンバスのインスタンスがあるAndroid用のゲームを作ろうとしています。

たとえば、レンダラー クラスの別のインスタンスがあります。そのレンダラー クラスは同じパッケージに含まれていますが、メイン クラスのサブクラスではありません。

ビットマップとキャンバスのインスタンスをそのレンダラー クラスのメソッドに渡し、そのメソッドが渡されたビットマップを渡されたキャンバスに描画する場合、実際のインスタンスが渡されますか、それとも新しいインスタンスのコピーが作成されてから渡されますか? さて、実際のインスタンスが渡されていることを試してみました。ビットマップがキャンバスに描画されているのを見ていたためです。

これが私の質問です。実際のインスタンスが渡されるのはなぜですか? こんな感じだったら ->

ここで、num を印刷すると、まだ 0 になりますが、他のビットマップとキャンバスのものでは、実際のインスタンスを送信します。これは私を本当に混乱させました。誰かがそれを説明できますか?それとも、プリミティブ型とは異なり、クラスオブジェクトには常に当てはまりますか? それはガベージコレクターを狂わせますか?

事前に感謝します。私の英語を理解していない場合は、教えてください。明確にするためにここに疑似コードを入れます。

0 投票する
3 に答える
115 参照

c++ - ネイティブ C++ プロジェクトで各クラスのインスタンス数とピーク時に消費したメモリを統計するにはどうすればよいですか

私のコンパイラ プロジェクトは深刻なメモリ消費をしています。そこで、どのクラスが最悪かを突き止められる方法を見つけたいと思います。それは私に次のようなものを与えるはずです:

私は長い間ウェブで検索してきましたが、これまでのところ結果はありません。:(

Devpartner ツールを試しました。私が知っているように、ネイティブ C++ を扱うことはできません。使い方がわからないからでしょうか?

何か提案はありますか?

0 投票する
4 に答える
2172 参照

ruby - Ruby のクラスの静的変数には、クラス変数またはクラス インスタンス変数を使用する必要がありますか?

私が知りたいのは、どちらを使用すればよいですか? それぞれのメリットとデメリットは?

クラス変数は次のとおりです。

  1. インターフェイスを作成しない限り非公開
  2. 継承間で共有
  3. 短く書く

クラスインスタンス変数は次のとおりです。

  1. パブリック。アクセスするにはインターフェイスを使用する必要があるため
  2. 継承間で共有されませんが、継承時に nil に設定されます
  3. 書くのが長くなる

他に何を念頭に置く必要がありますか?