問題タブ [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.
objective-c - Objective-C でパブリック/保護された静的変数をエミュレートする
この SA の質問 ( Objective C Static Class Level variables ) に対する上位投票の回答は、私の質問の概要をよく説明していますが、もう 1 つの基準を追加したいと思います。
問題の説明
- ClassA に ClassB クラス変数を持たせたいとします。
- プログラミング言語として Objective-C を使用しています。
Objective-C は、C++ のようにクラス変数をサポートしていません。
サブクラス ClassASub から ClassA のクラス変数にアクセスしたい
またはさらに良い
4a. ClassA のメソッドで、ClassASub でオーバーライドされたクラス変数にそのままアクセスできるようにしたい
何か案は?それとも、これは Objective-C を 1 段階曲げすぎているだけですか?
actionscript-3 - actionscript3のクラス変数にSWFの高さを使用するには?
クラス変数の [SWF height=200] で高さを使いたいです。
次のコードを試しましたが、コンパイル エラーが発生します。
const SWF_HEIGHT の代わりに 200 を使用すると、コンパイル エラーは発生しません。
でも同じ数字を2箇所書きたくない。
2ヶ所に同じ数字を書かないようにする方法はありますか?
ruby-on-rails - Ruby クラス変数とオン アクセス割り当て
複数のクラス変数を持つモジュールがあります。クラスが次のようにアクセスしようとしたときにのみ @@ 変数をインスタンス化するクラスレベルのゲッター実装を探しています
モジュール全体を変更する必要がないように、これが透過的であることを探しています。同様の関数を持つ約 10 個のクラス レベル変数があり、すべて ActiveRecord .find 呼び出しの結果です。
java - Android / Java:EditText/getTextを使用してパブリッククラスの文字列変数を変更する
まず最初に、これが私が経験した唯一のJavaエクスペリエンスであると言いたいです。私はc++を少しいじりましたが、しばらく経っていたので、これはJavaクラスを理解していないという愚かな欠如かもしれません。
了解しました。Playerという単純なクラスファイルがあります。
次に、Optionsという別のクラスがあります(これは、これに使用することにした以前のアクティビティでした。また、これは、メインメニューと呼ばれる別のアクティビティから開かれます)。
EditTextからの入力を使用してプレーヤー名を設定しようとしていますが、[getName]ボタンをクリックするとクラッシュします。クラスの設定が間違っているか、クラスメンバーの作成が間違っているか、変数の呼び出し/宣言が間違っていると言っても差し支えないと思います。どんな助けでもいただければ幸いです。
役立つ場合は、デバッグログを次に示します。
objective-c - Objective Cでクラス変数ポインタを非クラスメソッドに渡す
互いに通信する 2 つのクラスがあります (各クラスのプロセスは、他のクラスのいくつかのオブジェクトに依存します)。Class1 には、インターフェースで宣言された CvMat オブジェクト prevMat1 があります。
今、Class1 から prevMat1 を渡すクラス メソッドが Class2 にあります。Class2 内のメソッドで prevMat1 の値を更新し、その新しい値を Class1 に反映する必要があります。現在、このメソッドを次のように呼び出しています。
Class2 内では、このオブジェクトを prevMat2 という名前で処理しています。これは機能です:
これが現在構築されている方法では、Class1 の self.prevMat1 は、Class2 の prevMat2 に割り当てられた新しい値で更新されますか? ポインターではなくオブジェクト自体を送信しているため、意図したとおりに機能しない可能性があるのではないかと心配しています(私は思います)。
ありがとう
ruby-on-rails - レコードのRailsインスタンス変数
インスタンス変数をレコードにアタッチする組み込みの方法はありますか?たとえば、:を含むクラスUser
があるとします。foo
attr_accessor
私が行った場合
これは正しい動作であり、その理由を理解しています。インスタンス変数は、レコードではなくインスタンス(メモリ内)に存在します。私が欲しいのはレコード変数のようなものなので、上記の例では、アプリケーションの同じインスタンス内でu.foo
同じ値をUser.find(1).foo
返します。永続性は必要ありません。テーブルの列になるのは適切ではありません。たとえば、コントローラーアクション、コンソールセッションなどのライフサイクル中に、同じレコードに対して同じ値を返すのが適切です。と同じである必要がある理由がないため、を介してクラス変数が必要です。foo
foo
cattr_accessor
User.find(1).foo
User.find(2).foo
私が思いつくことができる最善の策は、クラス変数配列とインスタンスメソッドを使用してそれを偽造し、配列の適切な要素を取得/設定することです。
このALMOSTは機能しますが、保存されていないレコードでは機能しません。たとえば、User.new.foo = "bar"
失敗します。
ruby-on-rails - ユーザーごとに Active Resource HTTP 認証を設定するのはスレッドセーフですか?
Active Resource は、クラス レベルで設定された HTTP 認証を利用できます。例えば:
また
しかし、ログインしているユーザーに基づいて異なる HTTP 認証を使用するとどうなるでしょうか? Resource.user と Resource.password を変更すると、あるスレッドからのリクエストが別のスレッドで同時に実行されているユーザーの認証を使用して、あるスレッドからのリクエストが突然開始されるという競合状態が発生しますか? または、レールサーバーはマルチスレッド化されていないため、(リクエスト間の認証をリセットする限り) これは問題ではありませんか?
スレッド セーフの問題がなくても、リセットに失敗すると、以前のユーザーの資格情報が将来の要求で自動的に使用されるという危険性が依然としてあります。
更新: ActiveResource に不満を感じた後、独自の REST ライブラリを作成しました: https://github.com/DeepWebTechnologies/well_rested
java - Java定数が静的であると宣言されているのはなぜですか?
Java定数が静的に宣言されているのはなぜですか?
これで私はfinalの使用を理解していますか?なぜ静的でなければならないのですか?インスタンス変数ではなく、クラス変数である必要があるのはなぜですか?
ruby-on-rails - Rails には、リクエスト間でクラス変数をリセットする方法がありますか?
ActiveResource::Base のユーザー、パスワード、およびサイト変数について考えたとき、それらは 1 つの要求で変更でき、次の要求でも変更されたままになることに気付きました。クラス変数/属性のすべての使用に適用されるため、これは望ましくない動作のように思われ、おそらく広範囲にわたる問題です。
Rails は、各リクエストが元の状態で開始されるように、クラスレベルの状態への変更をクリーンアップするメカニズム (デフォルトへのリセットなど) を提供しますか?
そうでない場合、各リクエストの開始時に再適用されるクラス変数を初期化する方法を追加することは可能でしょうか? これをスレッドセーフなストレージと組み合わせると、クラス変数の問題が大幅に軽減されます。class_attributeの変更の可能性は?
アップデート:
上記のリンクされた質問で説明したように、これに注意を向けた特定のケースは、ユーザーごとに ActiveResource::Base.user とパスワードを設定していたという事実でした。それらをリセットできなかった場合、あるユーザーに代わって REST リクエストが、その後のページ読み込みで別のユーザーの資格情報を使用して行われることになります。
objective-c - Objective C のドット表記と -> の違い
コードで使用するメモリをできるだけ少なくしようとしています。カスタム クラス オブジェクトをメソッドに送信する 2 つの方法を試しました。これら2つのアプローチに違いがあるかどうかはわかりません。もちろん、それぞれ独自のクラス変数とメソッドを持つClass1とClass2の 2 つのクラスがあるとします。
すべてのコードはClass1で書かれています
アプローチ 1:
アプローチ 2:
これら 2 つの方法にパフォーマンスの違いはありますか? 2 番目のアプローチはまったく無意味ですか? アプローチ 1 ではドット表記を使用できるのに、アプローチ 2 では -> を使用する必要があるのはなぜですか?
ありがとう。