問題タブ [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.
django - Django:AuditTrailとLazy Relations
フィールドをコピーせず、関連フィールドをコピーするようにAuditTrailコードを変更しようとしています(つまり、監査モデルのデータベーステーブルに外部キーが必要ありません)。ForeignKey
私はcopy_field
次のような関数を作成しました。
このコードは、属性を持つモデルが(シグナルAuditTrail
を介して)準備されるときに実行されます。class_prepared
ただし、これは、ForeignKey
がまだ準備されていないモデルのフィールドに関連している場合に問題が発生します。これは、モデルインスタンスではなく、関連するモデルの名前を含む文字列get_related_field()
であるため、呼び出しは失敗します。field.rel.to
私はこれを回避するために何をすべきか途方に暮れています。モデルの依存関係を特定し、それらがすべて準備されるまで待ってから、フィールドのコピーを開始する必要がありますか?これについて行くための最良の方法について何かアイデアはありますか?
orm - 遅延評価が役に立たないのはいつですか?
実行を遅らせることは、ほとんどの場合、メリットです。しかし、それが問題であり、(Nhibernate での) 「フェッチ」に頼って熱心にフェッチする場合があります。
怠惰な評価があなたを苦しめる可能性がある実際の状況を知っていますか?
c# - XML シリアライゼーションは、遅延評価されたプロパティを書き出さない
前の質問に続いて、提案された Lazy<T> ジェネリックを XML シリアライゼーションと組み合わせるのに問題があります。
Lazy<T> に使用している機能は次のとおりです。
現在、MSDN ドキュメントでは、プロパティに [XmlElement("ElementName")] を使用しても問題ないと書かれており、実際に問題なく逆シリアル化できるようです。問題は、オブジェクトをシリアル化するときに発生します。次のコードを実行しています。
他の場所:
奇妙なことに、これはデバッガーでは正常に機能しますが、XML には要素が出力されません。非 Lazy<T> 要素は正常に機能します。何か案は?
r - 指定された引数の遅延評価
次の機能があるとします。
を実行すると、期待どおりfoo(1)
、戻り値は2
です。ただし、遅延評価はデフォルトの引数に対してのみ機能するため、を実行foo(1, y = max(m))
して受け取ることはできません。11
引数を指定して遅延評価するにはどうすればよいですか?
haskell - ghc が無限リストを評価するのはなぜですか?
私の最初の haskell プログラムとして、私はこれをやろうとしています - 1 から 10 を取得するのは難しい方法です。私は整数の無限リストを構築し、それらをソートし、最初の 10 を取得しています。要求された結果に厳密に (エヘム) 必要な範囲を超えてそれらの評価を引き起こすことなく、無限リストを操作できました。
私のコードは..
ghc でコンパイルし、結果として得られる実行可能ファイルを実行します。殺されるまでそこに座って割り当てます。
ヒントはありますか?
language-agnostic - 無限で遊ぶ - 怠惰な算術
多くの最新のプログラミング言語では、潜在的に無限のリストを処理し、それらに対して特定の操作を実行できます。
例 [Python]:
実際に必要な要素のみが計算されるため、このようなリストが存在できます。(遅延評価)
遅延評価のメカニズムを算術演算に拡張することが可能かどうか (または、特定の言語で実践されているかどうか) を知りたいと思いました。
例: 与えられた偶数の無限リストをevens = [ x | x <- [1..], even x ]
計算できませんでした
ここで必要な計算は決して終了しないためです。
しかし、私たちは実際にそれを決定することができました
length
用語全体を評価する必要はありません。
これはどの言語でも可能ですか?ハスケルはどうですか?
編集:ポイントをより明確にするために:問題は、遅延リストが特定の数値よりも短いかどうかを判断する方法に関するものではありません。数値計算が遅延して行われるように、従来の組み込み関数を使用することについてです。
sdcvvc は、Haskell のソリューションを示しました。
これは他の言語でも可能ですか?
scala - scala 2.7.5 での Iterator の分割
scala 2.7.5 にはpartition
メソッドがないように見えます(2.8 にはあります)。の怠惰さをIterator
失わずにパーティションを作成したいので、次のオプションはありません。Iterator
自分のpartition
方法を実装せずにこれを行う方法を誰かが推奨できますか? たとえば、Iterator
を遅延評価されたに変換する方法はありStream
ますか?
java - どこかで入手可能な SWT 用のプレハブの虫眼鏡カーソルはありますか?
SWT アプリケーションで "虫めがね" (+ と -) カーソルを使用したいと考えています。自分用のカーソルを作成するのは非常に簡単であることはわかっていますが、今は時間を投資したくありません。私が使用できる「ズームイン」および「ズームアウト」カーソルを備えたリンクまたはコードスニペットはありますか?
hibernate - Hibernate:基準での多対1の投影
最近、休止状態のCriteriaAPIを初めて試しています。
私はこのHQLと同等のことをしようとしていました
「タスクtからt.userTblを選択してください」
userTblプロパティは、Taskの多対1です。Task.userTblの関係は怠惰です。
だから私はこれを思いついた
残念ながら、これはHQLとは異なることをします。
HQLでは、マッピングでuserTbl関係がレイジーに設定されていますが、HQLはUserTblの非プロキシオブジェクトを熱心にフェッチしてマテリアライズします。
ただし、Criteriaで、不要なプロキシのリストが返されます。私はsetFetchModeをいじりましたが、これは正しいことではなかったようです。基準で上記を適切に実行し、HQLのように非プロキシを取り戻す方法を知っている人はいますか?
ありがとう。
optimization - ハスケル。厳密なアプリケーション $!
次のコードを実行します。
それは何ですか ?「[1,2..]力を評価する」と言ったので、ghcは終了をもたらすと思いました。しかし、「[1,2,3,4,5,6,7,8,9,10]」という結果が得られました。