問題タブ [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 投票する
3 に答える
824 参照

linq - Enumerable.ToDictionaryは、必要なものだけを取得しますか?

Enumerable.ToDictionaryを使用して、linq呼び出しから辞書を作成しています。

その呼び出しは各用語全体をフェッチしますか、それともデータプロバイダーからTermIDフィールドとNameフィールドのみを取得しますか?言い換えれば、代わりに次のように記述した場合、データベーストラフィックを節約できますか?

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

clojure - Clojure - このコードが clojure で機能しないのはなぜですか?

Clojure は初めてで、SICP を使用して学習しています。

SCIP 1.3.1 からこのコードを動作させることができません。

何が欠けていますか?

エラーメッセージは次のとおりです。

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

language-agnostic - 遅延評価の利点は何ですか?

熱心な評価とは対照的に、遅延評価にはどのような利点がありますか?

どのようなパフォーマンスのオーバーヘッドがありますか?遅延評価は遅くなりますか、それとも速くなりますか?なぜ(または実装に依存するのですか?)?

遅延評価は、ほとんどの実装で実際にどのように機能しますか?私には、変数は数値だけでなく操作も格納する必要があるため、はるかに遅く、メモリを大量に消費するように思われます。それで、それはHaskellのような言語でどのように機能しますか(注、私は実際にはその言語を知りません)?怠惰が大幅に遅くなったり、より多くのスペースを消費したりしないように、怠惰はどのように実装および実行されますか?

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

scala - FunctionN型のvalとしてN個のパラメーターを使用してdefを実装する

引数をとらないadefを使用して実装できます。valdef

なぜこれを拡張して、defN個の引数をvalであるvalに実装することができないのFunctionNですか?私は次のようなものを実装できるようにしたいと思っています。

怠惰な機能付きval。何かのようなもの:

この構文は2.8では機能しないようです。足りないものがありますが、パラメータを関数として実装できないのはなぜですか?defval

0 投票する
2 に答える
1395 参照

python - Pythonでの遅延評価? モジュール間?

このようなことがPythonで可能かどうかはわかりませんが、可能であれば(少なくともこの例では)本当に便利です。

テスト構成をテスト コマンドとは別に保持したいテスト フレームワークがあります。これは、実際にコードを変更することなく、構成/テストを組み合わせて一致させることができるため便利です。私は基本的に、次のように、構成モジュールとテスト モジュールの名前を取得し、両方をロードして実行する短いランナー スクリプトを用意しています。

これに関する唯一の問題は、実際には、テスト スクリプトが構成パラメーターをある程度認識できるようにしたいということです。理想的には、test/commands モジュールで次のようなことができるようにしたいと考えています。

ここで、LazyArg1 と LazyArg2 は構成モジュール (または両方の構成/コマンドをインポートするランナー モジュール) で定義されているメソッドです。これらの関数が実際に定義されるまで評価を遅らせる方法はありますか?

私はまた、同じ目的を達成するための他の方法にもオープンです. 私が持っていた他の唯一のアイデアは、構成モジュールに辞書をファイルに書き込んでから、コマンドモジュールにそれをインポートさせることでした(単に書き出すと仮定しますrepr(mydict))。これはあまり魅力的ではありません..うまくいきますが。

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

wolfram-mathematica - Mathematica 7は遅延評価をサポートしていますか?

変数に保存されている行列のリストがありG、次の操作を適用するとします。

Minors各要素が(i、j)行/列が削除された行列式である行列をDiagonal返し、行列の対角要素のリストを返します。

私の質問は、これらのコマンドの評価に関するものです。明らかに、すべてのエントリを評価したくはありません。Mathematicaは、最初に対角線が解析され、小行列式から必要な要素のみが抽出されるという意味で怠惰ですか、それとも小行列式が構築されてから、その対角要素が引き出されますか?

これは遅延評価の一般的な質問ですが、Mathematicaを初めて使用する場合は、特定の問題の構文を改善するためのヒントをいただければ幸いです。

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

haskell - 折り畳みによるモナドアクションの合成

type の関数を考えてみましょう(Monad m) => a -> m a。例えば:

何度でも応募できるようにしたいです。最初に試したのは

問題は、大規模な場合は機能しないことですn:

他の方法でも機能しません:

実際、機能するのは($!)厳密性演算子を使用することです

より良い、またはより慣用的な解決策はありますか? それとももっと厳しいものですか?f重い関数の場合でも、スタック オーバーフローが発生しやすいです。

UPD:ポイントフルな形式で書いtimesても、重いモナドアクションを作成する問題を解決できないことがわかりました。これは fx = Just (x+1) で機能しますが、現実の世界では失敗します:

0 投票する
2 に答える
5954 参照

python - Python lazy iterator

I am trying to understand how and when iterator expressions get evaluated. The following seems to be a lazy expression:

This one, however fails on construction:

I do not have the file named 'xxx'. However, since this thing is lazy, why is it failing so soon?

Thanks.

EDI: Wow, I made a lazy one!

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

php - mysql クエリ php

1000人にメールを送ります。私はphp送信メールを持っています。それは正常に動作します。私のクエリでは、どうすれば一度に 100 を送信できるのか疑問に思っていました。

それはこのようなものですか:

等...

ありがとう。

0 投票する
6 に答える
1819 参照

python - Pythonでブール式を熱心に評価する

evalPythonで熱心にブール式を評価する方法はありますか?

これを見てみましょう:

うわぁ!yの値に関係なくこれはfalseになるため、これは非常に便利です。問題は、y未定義でさえあり得るということです、そして私はその例外を取得したいと思います。事前に結果を知っている場合でも、Pythonにすべての式を評価させるにはどうすればよいですか?

私が自分自身を明確にしたことを願っています!ありがとう、
マヌエル

編集:式は変更してはならず、評価手法だけを変更してはならないことに注意してください。