問題タブ [initializer]
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.
ruby-on-rails - レールの環境固有の初期化子?
特定の環境下でのみ初期化子を実行するようにレールを構成できますか? 私の場合、開発ボックスで Imagemagick を使用するにはペーパークリップをハックする必要があったため、本番環境ではなく、開発環境にのみ適用するモンキーパッチ コードがあります。そのモンキーパッチは config\initializers にファイルとして保存されます。
guides.rubyonrails.org サイトは、これができることを示していません。できない場合は、このパッチをリポジトリにチェックインしないと思いますが、それは理想的ではありません。
c# - C# ディクショナリ初期化子のコンパイルの不一致
次のコードはコンパイルされますが、次のエラーで失敗しますNullReferenceException
。
「失敗」とマークされた行を次のように置き換えると、(予想どおり) 機能します。
失敗した構文には何か目的がありますか? 他のケースで正常に使用できますか? それとも、これはコンパイラの見落としですか?
c++ - C++ で中かっこで初期化された無名の集計を作成できますか?
以下の return ステートメントのように、コンストラクター パラメーターを介して初期化される匿名オブジェクトを作成できます。
しかし、ブレース初期化子で初期化された匿名集約を同様に作成できますか? たとえば、以下の f() の本体を、「s?」なしで単一の return ステートメントに折りたたむことができますか?
c++ - C++: 初心者のイニシャライザ リストに関する質問
ここの初心者。私は会社コードを見ています。
クラスAにはメンバー変数がないように見えますが、Aのコンストラクターでは、クラスAにタイプBのメンバー変数(またはメンバー変数がまったく含まれていません!)が含まれていなくても、オブジェクトBを初期化します。
質問するほど理解してないんだろうな…一体何が起きてるんだよ!? 私の直感では、変数を初期化する前に変数が必要です。オブジェクトを持たずにオブジェクトを初期化することはどのように可能ですか (またはそれが何をするのですか)?
.h:
.cpp:
助けてください。
ありがとう、ジブ
java - チェックされた例外をスローする静的な最終フィールド初期化子を処理する方法
static final
チェックされた例外をスローするように宣言されたイニシャライザステートメントを使用してフィールドを宣言したいというユースケースに直面しています。通常、次のようになります。
私がここで抱えている問題は、ObjectName
コンストラクターがさまざまなチェック済み例外をスローする可能性があることです。これは私が気にしないためです(私の名前が有効であることがわかっているため、そうでない場合に惨めにクラッシュしても問題ありません)。Javaコンパイラでは、これを無視することはできません(これはチェックされた例外であるため)。また、次のことに頼りたくありません。
静的ブロックは本当に、本当に読みにくいからです。誰かがこのケースを素敵でクリーンな方法で処理する方法について提案がありますか?
ruby-on-rails - Rails ロガーにイニシャライザからアクセスするにはどうすればよいですか?
前の質問のアドバイスに従って、バックグラウンド プロセスを scheduler.rb という名前の初期化子に配置しました。しかし、新しくスケジュールされたプロセスを Rails ログに記録するのに苦労しています。できれば Rails のデフォルトのロガー メソッド (logger.info など) にアクセスして、イニシャライザから同じログにアクセスする簡単な方法はありますか?
c++ - C++: 配列のコンストラクタ初期化子
脳が痙攣しています... C++ でオブジェクトの配列を適切に初期化するにはどうすればよいですか?
非配列の例:
配列の例:
編集:ワイルドでクレイジーな回避策のアイデアは高く評価されますが、私の場合は役に立ちません。std::vector やその他の STL コンストラクトが利用できない組み込みプロセッサで作業しています。明らかな回避策は、デフォルトのコンストラクタを作成し、構築init()
後に呼び出すことができる明示的なメソッドを用意することです。イニシャライザをまったく使用する必要はありません。final
(これは、Java のキーワード + コンストラクターの柔軟性に甘んじてしまったケースの 1 つです。)
objective-c - Objective-C イニシャライザは同じ名前を共有できますか?
同じ名前の初期化子を使用しているが、引数の型が異なる 2 つのクラスがあると、Objective-C で奇妙な問題が発生します。たとえば、クラス A と B を作成するとします。
あ:
午前:
Bh:
Bm:
main.m:
これを実行すると、次の出力が得られます。
インポートの順序を逆にして、最初に Bh をインポートすると、次のようになります。
何らかの理由で、@interface が最初に両方のクラスに含まれる方で定義されたデータ型を使用しているようです。デバッガーをいくつかステップ実行したところ、a オブジェクトと b オブジェクトの両方の isa ポインターが同じ結果になることがわかりました。また、alloc 呼び出しと init 呼び出しをインラインにしなくなった場合、両方の初期化が適切に機能しているように見えることもわかりました。
a と b の両方を作成するときにこの規則を使用すると、正しい出力が得られ、isa ポインターはオブジェクトごとに異なるように見えます。
私は何か間違ったことをしていますか?複数のクラスが同じ初期化子名を持つ可能性があると思っていましたが、おそらくそうではありません。
c# - 静的読み取り専用フィールド初期化子と静的コンストラクターの初期化
以下は、静的読み取り専用フィールドを初期化する 2 つの異なる方法です。2つのアプローチに違いはありますか?はいの場合、いつ一方を他方よりも優先する必要がありますか?