問題タブ [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.
c++ - クラス型を持つconst変数のデフォルトの初期化を防ぐ方法
組み込み型のように動作させたいカスタムクラスがあります。
ただし、初期値を指定しなくても、そのクラスのconst変数を初期化できることに気付きました。私のクラスには現在、空のデフォルトコンストラクタがあります。
これがintと私のクラスfooの比較です:
あなたが見ることができるように私は防ぐ必要があります
コンパイルから。
C ++の達人からのアイデアはありますか?
ruby-on-rails - カスタム初期化子を介して書き込まれたconfigディレクトリのカスタムyml.erbファイルでimage_pathヘルパーを使用する
アプリケーションの一部を構成するために使用されるyml.erbファイルを作成しました。イニシャライザーをプリロードしたいのですが(アプリケーションの実行中に変更する必要はありません)、最大の問題は、このymlファイルにapp / Assets/imagesディレクトリ内の画像へのリンクが含まれていることです。yml.erbファイル内でimage_pathヘルパーを使用したいのですが、問題が発生しています(何を含めるべきか、どこに含めるべきかわかりません:yml.erbファイルまたは解析するファイルの場合yml.erbファイル)。
私が今持っているもの
desktop_icons.rb(config / initializers内)
icons.yml.erb(構成内)
home_controller.rb(コントローラー内)
なにか提案を?
ruby-on-rails - Railsでイニシャライザが実行される頻度はどれくらいですか?
Rails アプリの初期化子は、誰かがサイトにアクセスするたびに実行されますか?
たとえば、私のサーバーがテキサスで午前 10 時に開始され、だれかがニューヨークから午後 1 時に私のサイトにアクセスし、誰かがロサンゼルスから午後 10 時に私のサイトにアクセスした場合、レール アプリケーションで初期化子を実行すると、ニューヨークの人々がとロサンゼルスを訪れますか、それともテキサスでサーバーを起動したときにのみ初期化子が実行されますか?
私が尋ねている理由は、初期化ファイルでケース式を使用して、アプリがアクセスされる時間帯に応じてメール設定を変更していたためです。これはもちろん、誰かがサイトを訪れたときにイニシャライザが実行された場合にのみ意味があります。サーバーの起動時にのみ実行された場合、それは1つのケースにすぎません...
それが適切な場所ではない場合、またはイニシャライザがサーバーがテキサスで起動された後にのみ実行される場合 (たとえば)、このコードをどこに配置しますか?
ajax - JSF2 preRenderComponent は、f:ajax の実行時に常に呼び出されます
<f:event type="preRenderComponent" listener="#{newsBean.init}" />
Bean 初期化子として持つ NewsBean.java に裏打ちされた JSF ページがあります。
ページの下部にコメントを送信するためのボタンがあり
<f:ajax event="click" execute="@form" render="@form" listener="#{newsBean.sendComment}" />
ます<h:form>
。ボタンがクリックされると、NewsBean.init()
常に呼び出されます。
私のBeanスコープはビューです。これは有効な動作ですか (常に init() を呼び出します)? 常に呼び出すのを防ぐにはどうすればよいinit()
ですか?
ruby-on-rails - PusherClient を Rails イニシャライザーに設定するにはどうすればよいですか?
https://github.com/logankoester/pusher-clientで、どのように設定をレール初期化子に入れることができますconfig/initializers/
か?
c++ - forループの初期化でさまざまなタイプの変数を宣言できますか?
このC++コードがVS2010でコンパイルされないのはなぜですか。
これはしますが:
forループ初期化子内で異なるタイプの2つの変数を宣言することは禁止されていますか?もしそうなら、どのようにそれを回避できますか?
ruby-on-rails - ルートがロードされた*後に*実行されるRails初期化子?
Railsアプリの起動時にクラス属性を設定したい。一部のルートを検査する必要があるため、カスタムコードを実行する前にルートをロードする必要があります。信頼できる場所を見つけるのに苦労しています。
これは、「テスト」環境で完全に機能します。
ただし、「開発」環境では機能しません(ルートは空です)
今のところ、config.to_prepare
すべてのリクエストの前に発生することを理解しているのと同じコードを実行することで、開発モードで動作しているようです。残念ながら、to_prepare
単独で使用することはテストモードでは機能しないようであるため、重複します。
テストモードではafter_initializeの前にルートがロードされるのに、開発モードではロードされないのはなぜか知りたいです。そして本当に、これのための最良のフックは何ですか?すべての環境で機能する単一のフックはありますか?
*編集*
ルートをリロードするというmuの提案は素晴らしかった。これにより、すべての環境でafter_initialize内のルートに一貫してアクセスできるようになりました。ただし、私のユースケースでは、モデルにクラス属性を設定していて、各リクエストの前にモデルが再ロードされるため、to_prepareからもコードを実行する必要があると思います。
これが私がやったことです。
それは私には少し厄介なようです。私はむしろ次のようなことをしたいと思います:
しかし、それUser
が調査するのに適切な場所であるかどうかはわかりませんRails.application.routes
。lib /のコードでも同じことができると思いますが、それが正しいかどうかもわかりません。
もう1つのオプションは、to_prepareにmuの提案を適用することです。それは機能しますが、私の開発環境ではすべてのリクエストでルートのリロードに顕著な遅延があるようです。したがって、少なくともDRYですが、これが適切な呼び出しであるかどうかはわかりません。
ruby-on-rails - データベース Rails 2.3 の Paperclip gem とカスタム ファイル名
初期化子で Paperclip.interpoles を使用して、paperclip gem を介してアップロードされたファイルのカスタム ファイル名を作成しようとしています。私が抱えている問題は、ファイルのアップロード時にファイル システムのカスタム ファイル名を更新することですが、データベース ファイル名はソース ファイルの名前のままです。これを処理するためにデータベース属性を再割り当てするよりも良い方法はありますか?
c# - コード生成におけるプロパティ/フィールド初期化子
CodeDom とプレーン コード文字列を使用して、Visual Studio 拡張機能でコードを生成しています。私の拡張機能は、リフレクションを使用して現在のクラスで宣言されたフィールドとプロパティを読み取り、コンストラクター、イニシャライザーを生成し、特定のインターフェイスなどを実装します。
ジェネレーター クラスは単純です。
私は 2 つの方法でフィールドとプロパティの初期化子に行き詰まっています。
まず、default(AnyNonGenericValueOrReferenceType)
ほとんどの場合はうまくいくように見えますが、生成されたコードでそれを使用することに不快感を覚えます。
次に、ジェネリック型の基になる型を取得する方法が見つからないため、ジェネリック型では機能しません。プロパティが の場合List < int >
、 をproperty.PropertyType.Name
返しますList`1
。ここには 2 つの問題があります。まず、文字列操作を使用せずにジェネリック型の適切な名前を取得する必要があります。次に、基になる型にアクセスする必要があります。完全なプロパティ タイプ名は、次のようなものを返します。
c++ - 名前空間の前に初期化子が必要です
だから、私は C++ プログラミングにかなり慣れていませんが、Python と FreeBASIC で SDL を広範囲に使用しています。ここでばかげたことを見逃していると確信していますが、何を試しても、video.h ファイルに「エラー: 'namespace' の前に初期化子が必要です」というエラーが表示され続けます。それは私を少し狂わせています。