問題タブ [class-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.
python - Pythonで静的クラス変数は可能ですか?
Pythonで静的クラス変数またはメソッドを持つことは可能ですか? これを行うにはどのような構文が必要ですか?
ruby - Rubyの定数またはクラス変数?
Ruby でプログラミングを始めて数か月が経ちましたが、いつクラス変数よりも定数を使用したり、その逆を行うのが適切なのか疑問に思っています。(私はRailsで作業しており、モデルの定数について考えています)。
また
ある状況が別の状況よりも好ましい状況はありますか? それとも好みやスタイルの問題ですか?
php - クラス変数、スコープ解決演算子、および異なるバージョンの PHP
codepad.org で次のコードを試しました。
そして、それは次のように返されました:
コードパッドが 5.2.5 を使用しているのに対し、変数を使用してクラス定数を参照することが自宅のサーバーで php 5.2.9 を実行している場合に機能するかどうかを知りたいです。PHP の各バージョンでのクラス変数の変更点は何ですか?
ruby - Rubyのattr_accessorは、インスタンス変数の代わりにクラス変数またはクラスインスタンス変数をどのように生成できますか?
を持つクラスがある場合attr_accessor
、デフォルトでは、対応するゲッターとセッターとともにインスタンス変数を作成します。しかし、インスタンス変数を作成する代わりに、代わりにクラス変数またはクラス インスタンス変数を作成する方法はありますか?
ruby - Ruby には、次の構文の関連アプリケーションがあります: class << self ... end
上記の構文は、クラス インスタンス変数の定義に使用されます。しかし、構文が何を意味するかを考えると、意味が分からないので、このタイプの構文が他のタイプの定義に使用されているかどうか疑問に思っています。ここでの私の混乱のポイントはこれです:
通常、append 演算子は「右側にあるものを左側にあるオブジェクトに追加する」ことを意味します。しかし、このブロックのコンテキストでは、「このブロックの内容をインスタンスではなくクラス インスタンスの定義に入れる」ことはどのように行われるのでしょうか?
同じ理由で、あるコンテキストクラスで << self がクラスインスタンス変数を定義できるのに、別のコンテキストクラスでは次のようなクラス変数を作成するように見える理由について混乱しています。
ruby-on-rails - Railsは共有されていますか?何もありませんか、または別々のリクエストが同じランタイム変数にアクセスできますか?
PHPはシェアードナッシング環境で実行されます。つまり、このコンテキストでは、すべてのWebリクエストがクリーンな環境で実行されます。別の永続層(ファイルシステム、データベースなど)を経由しない限り、別のリクエストのデータにアクセスすることはできません。
Ruby on Railsはどうですか?別々のリクエストが同じクラス変数にアクセスする可能性があると述べているブログ投稿を読んだばかりです。
これはおそらくWebサーバーに依存していると思いました。 MongrelのFAQには、Mongrelはリクエストごとに1つのスレッドを使用すると記載されており、シェアードナッシング環境を示唆しています。FAQには、RoRはスレッドセーフではないと記載されています。これは、新しいリクエストが前のリクエストから作成されたメモリ内オブジェクトを再利用しない限り、RoRが共有環境に存在しないことをさらに示唆しています。
明らかに、これにはセキュリティに大きな影響があります。だから私は2つの質問があります:
- RoR環境は共有されていますか?何もありませんか?
- RoRが共有環境で実行されている(または状況によっては実行される可能性がある)場合、どの変数やその他のデータストレージについて心配する必要がありますか?
更新:さらに明確にします。 Javaサーブレットコンテナでは、複数のリクエストにまたがって存続するオブジェクトを持つことができます。これは通常、複数のユーザーがアクセスできるデータのキャッシュ、データベース接続などのために行われます。PHPでは、これはアプリケーションレイヤーでは実行できず、Memcachedなどの別の永続レイヤーで実行する必要があります。したがって、2つの質問は次のとおりです。RoRはどのシナリオ(PHPまたはJava)に似ていますか、Javaのように、どのデータ型が複数の要求にわたって持続しますか?
delphi - 「クラス変数」はゼロに初期化されていますか?
Delphiでは、インスタンス変数とグローバル変数がゼロに初期化されることを知っています(これは以前にここで尋ねられました)。
しかし、静的変数(class var
)はどうですか?グローバル変数と同じように、クラス変数はゼロに初期化されると思います。しかし、実際に保証を述べているドキュメントがなくても、まだ中途半端な状態で動作すると想定できない新しいDelphiコンパイラ機能が多すぎます。
ヘルプには「classvar」のインデックスエントリがありません。「フィールド」トピックではクラスフィールドについて言及していますが、プログラムの起動時に初期化されるかどうかは指定されていません。そして、それらを明示的に初期化するという明らかな修正(class var X: Integer = 0;
)は、コンパイルされません( "';'が期待されますが、' ='が見つかりました")。
クラス変数はゼロに初期化されていますか?これを明示的に述べているドキュメントはありますか?
java - javaシングルトンパターン、すべての変数はクラス変数にする必要がありますか?
クラスがシングルトン パターンを実装する場合、すべての変数を静的に宣言する必要がありますか?
それらが静的であると宣言されるべきではない理由はありますか? 違いはありますか?
java - Java: クラスのプロパティを取得して文字列表現を構築する
このようなクラスがあるとしましょう (さらに、すべてのプライベート変数を次のように仮定します。
ここで、このクラスの toString() 表現を作成したい場合は、Item クラス内で次のようにします。
しかし、クラス内に 15 個のプライベート変数があるとしたらどうでしょうか? このようにすべての変数の名前を記述する必要がありますか?
理想的には、このクラスのプライベート変数のリストを反復処理して文字列表現を構築することで、タスクを完了したいと考えています。
またはおそらく toJSON メソッドで、これらの変数の名前にアクセスする必要があります。助言がありますか?
objective-c - class_getClassVariable()は何をしますか?
インスタンス変数がクラスのインスタンスに属している場合、クラス変数はメタクラスのインスタンスに属していると思います。しかし、Objective-Cメタクラスでの私の経験から、これはありそうもないことがわかります。
class_getClassVariable
とは対照的に何が行われるclass_getInstanceVariable
のか、なぜclass_setClassVariable
ランタイムにがないのか疑問に思っています。