問題タブ [lazy-evaluation]

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.

0 投票する
1 に答える
630 参照

django - Django:AuditTrailとLazy Relations

フィールドをコピーせず、関連フィールドをコピーするようにAuditTrailコードを変更しようとしています(つまり、監査モデルのデータベーステーブルに外部キーが必要ありません)。ForeignKey

私はcopy_field次のような関数を作成しました。

このコードは、属性を持つモデルが(シグナルAuditTrailを介して)準備されるときに実行されます。class_prepared

ただし、これは、ForeignKeyがまだ準備されていないモデルのフィールドに関連している場合に問題が発生します。これは、モデルインスタンスではなく、関連するモデルの名前を含む文字列get_related_field()であるため、呼び出しは失敗します。field.rel.to

私はこれを回避するために何をすべきか途方に暮れています。モデルの依存関係を特定し、それらがすべて準備されるまで待ってから、フィールドのコピーを開始する必要がありますか?これについて行くための最良の方法について何かアイデアはありますか?

0 投票する
7 に答える
1164 参照

orm - 遅延評価が役に立たないのはいつですか?

実行を遅らせることは、ほとんどの場合、メリットです。しかし、それが問題であり、(Nhibernate での) 「フェッチ」に頼って熱心にフェッチする場合があります。

怠惰な評価があなたを苦しめる可能性がある実際の状況を知っていますか?

0 投票する
3 に答える
442 参照

c# - XML シリアライゼーションは、遅延評価されたプロパティを書き出さない

前の質問に続いて、提案された Lazy<T> ジェネリックを XML シリアライゼーションと組み合わせるのに問題があります。

Lazy<T> に使用している機能は次のとおりです。

現在、MSDN ドキュメントでは、プロパティに [XmlElement("ElementName")] を使用しても問題ないと書かれており、実際に問題なく逆シリアル化できるようです。問題は、オブジェクトをシリアル化するときに発生します。次のコードを実行しています。

他の場所:

奇妙なことに、これはデバッガーでは正常に機能しますが、XML には要素が出力されません。非 Lazy<T> 要素は正常に機能します。何か案は?

0 投票する
3 に答える
753 参照

r - 指定された引数の遅延評価

次の機能があるとします。

を実行すると、期待どおりfoo(1)、戻り値は2です。ただし、遅延評価はデフォルトの引数に対してのみ機能するため、を実行foo(1, y = max(m))して受け取ることはできません。11引数を指定して遅延評価するにはどうすればよいですか?

0 投票する
3 に答える
386 参照

haskell - ghc が無限リストを評価するのはなぜですか?

私の最初の haskell プログラムとして、私はこれをやろうとしています - 1 から 10 を取得するのは難しい方法です。私は整数の無限リストを構築し、それらをソートし、最初の 10 を取得しています。要求された結果に厳密に (エヘム) 必要な範囲を超えてそれらの評価を引き起こすことなく、無限リストを操作できました。

私のコードは..

ghc でコンパイルし、結果として得られる実行可能ファイルを実行します。殺されるまでそこに座って割り当てます。

ヒントはありますか?

0 投票する
4 に答える
639 参照

language-agnostic - 無限で遊ぶ - 怠惰な算術

多くの最新のプログラミング言語では、潜在的に無限のリストを処理し、それらに対して特定の操作を実行できます。

例 [Python]:

実際に必要な要素のみが計算されるため、このようなリストが存在できます。(遅延評価)

遅延評価のメカニズムを算術演算に拡張することが可能かどうか (または、特定の言語で実践されているかどうか) を知りたいと思いました。

例: 与えられた偶数の無限リストをevens = [ x | x <- [1..], even x ] 計算できませんでした

ここで必要な計算は決して終了しないためです。

しかし、私たちは実際にそれを決定することができました

length用語全体を評価する必要はありません。

これはどの言語でも可能ですか?ハスケルはどうですか?

編集:ポイントをより明確にするために:問題は、遅延リストが特定の数値よりも短いかどうかを判断する方法に関するものではありません。数値計算が遅延して行われるように、従来の組み込み関数を使用することについてです。

sdcvvc は、Haskell のソリューションを示しました。

これは他の言語でも可能ですか?

0 投票する
1 に答える
1557 参照

scala - scala 2.7.5 での Iterator の分割

scala 2.7.5 にはpartitionメソッドがないように見えます(2.8 にはあります)。の怠惰さをIterator失わずにパーティションを作成したいので、次のオプションはありません。Iterator

自分のpartition方法を実装せずにこれを行う方法を誰かが推奨できますか? たとえば、Iteratorを遅延評価されたに変換する方法はありStreamますか?

0 投票する
1 に答える
886 参照

java - どこかで入手可能な SWT 用のプレハブの虫眼鏡カーソルはありますか?

SWT アプリケーションで "虫めがね" (+ と -) カーソルを使用したいと考えています。自分用のカーソルを作成するのは非常に簡単であることはわかっていますが、今は時間を投資したくありません。私が使用できる「ズームイン」および「ズームアウト」カーソルを備えたリンクまたはコードスニペットはありますか?

0 投票する
1 に答える
2830 参照

hibernate - Hibernate:基準での多対1の投影

最近、休止状態のCriteriaAPIを初めて試しています。

私はこのHQLと同等のことをしようとしていました

「タスクtからt.userTblを選択してください」

userTblプロパティは、Taskの多対1です。Task.userTblの関係は怠惰です。

だから私はこれを思いついた

残念ながら、これはHQLとは異なることをします。

HQLでは、マッピングでuserTbl関係がレイジーに設定されていますが、HQLはUserTblの非プロキシオブジェクトを熱心にフェッチしてマテリアライズします。

ただし、Criteriaで、不要なプロキシのリストが返されます。私はsetFetchModeをいじりましたが、これは正しいことではなかったようです。基準で上記を適切に実行し、HQLのように非プロキシを取り戻す方法を知っている人はいますか?

ありがとう。

0 投票する
3 に答える
3313 参照

optimization - ハスケル。厳密なアプリケーション $!

次のコードを実行します。

それは何ですか ?「[1,2..]力を評価する」と言ったので、ghcは終了をもたらすと思いました。しかし、「[1,2,3,4,5,6,7,8,9,10]」という結果が得られました。