問題タブ [eager]
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 - 複数のテーブルを使用したRails 4の熱心な読み込み
5 つのテーブルで結果を熱心にロードしようとしています。
MeetingController.rb の内部:
includes(:bookings) を使用しようとしていますが、bullet-gemによると、熱心な読み込みが機能していません。そして、私のビューの中で私はこの行を呼んでいます:
このコードの 52 行を複数取得しています。これは明らかに、データのロードを熱心に行っていないことを意味します。
bullet.log:
私が何をすべきか考えていますか?
android - OrmLite - 熱心なレベルを動的に変更する
現在、オブジェクトに注釈を設定することにより、すべてのクエリに対して外部コレクションの熱心なレベルを静的に設定しています。
私が作成しているクエリに応じて、この熱心なレベルを動的に設定する方法はありますか? 熱心なレベルを常にtrueに設定しないことをお勧めします。これは、いくつかの特別なクエリでのみ必要です。
こんにちはトビ
編集: 答えがないということは、これが不可能であることを意味しますか、それとも誰も答えを知らないことを意味しますか?
scala - 並列値で怠惰な熱心な、それは可能ですか?
タイトル通りです、全部欲しいです。
- 熱心な評価では、割り当てが完了するとすぐに関数が常に評価されます。
- 遅延評価では、値が必要になるまでこれは行われませんが、その後は熱心な評価と同様にブロック操作になりますが、遅延します。
- 値が必要になるまで、評価を熱心かつ同時に (ブロックせずに) 開始するものが必要です。
私はこれが少し奇妙であることを知っているので、説明的な要点を作成しました。
この例では完全に機能し、遅延熱心な値の計算は無料のようですが、他の 2 つの値はそれぞれ 10 秒かかります。確かに、物事は別のスレッドなどで起こっていますが、私はそれで問題ありません。必要に応じて、時々、このようなことを行うためのオプションが欲しいだけです.
私はこれを定義するためのよりエレガントな方法、関数、注釈などを考えてきました。最終的に私が見つけた唯一の可能性は、Scala (AFAIK) では利用できないマクロです。
これをエレガントな方法で行う方法はありますか、それとも私が書いたものはそれと同じくらいエレガントですか?
PD: より明確にするためです。これは私がやりたいことをするために必要なことです:
これは私がやりたいことです:
私は Implicit の大ファンではありませんが、これを追加するのが最善の方法かもしれません。
php - 別の接続でのLaravel Eloquentの熱心な読み込み
Laravel Eloquent ORM を使用して、2 つの異なる接続で単純な 1 対 1 の関係を構築しようとしています。
私がそうするとしましょう:
それはうまくいっています。
私がする時 :
eloquent が ("secondary_connection" ではなく) デフォルト接続で AnotherModel SELECT ステートメントを実行しているため、エラーが発生します。
これを回避する方法が見つかりません。
私のモデルは、デフォルトの接続で結合できるため、明確に定義されています。
考え?
scala - Try は Scala で怠惰または熱心にできますか?
私の知る限り、基本的にそれらは異なるタイプのモナドであるため、熱心であるIterator.map
一方で怠惰です。Vector.map
EagerTry
andが現在のLazyTry
と同じように動作する可能性があるかどうかを知りたいのですが、後者の ( ) を使用すると、結果が必要になるまで (必要な場合)、渡されたクロージャーの実行が遅延します。Try
LazyTry
lazy
as の宣言は Scala ではうまく機能しないことに注意してください。特に、特定のスコープで機能します。パラメーター (名前によるパラメーター) を渡すときの代替手段が存在します。問題は、(遅延) 値を外部スコープに返すときに遅延動作を実現する方法です。Option
は基本的に長さ 0 または 1 のコレクションです。これは遅延コレクション ( Iterator
、Sequence
) と同等のケースですが、長さ 0 または 1 に制限されます (Option
および などEither
)。私は特に興味があります。Try
つまり、使用されるのとLazyTry
まったく同じようTry
に使用します。これは他の場合でも同様であると思います(Option
およびEither
)。
EagerTry
現在の標準Try
は熱心であるため、すでに があることに注意してください。残念ながら、クラスは封印されているため、同じクラスの熱心なバージョンと遅延バージョンを作成するには、そのうちの 3 つを定義し、2 つを実装する必要があります (1 つを定義して実装するのではなく)。Try
ポイントは、他のソフトウェア層がそのコードの実行時間を気にせずにを返すこと、つまり抽象化です。