問題タブ [lazy-sequences]

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 投票する
2 に答える
311 参照

clojure - 実現された LazySeq の要素を見つける

実現時に作成される接続の LazySeq があります。接続を作成しようとして例外が発生した場合は、LazySeq で既に実現されているすべての接続を反復処理して閉じたいと思います。何かのようなもの:

close-connectionsただし、接続を再度認識しようとするため、これはうまく機能しません。追加の接続を実現するのではなく、実現された接続のみを閉じたい。これを行うためのアイデアはありますか?

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

clojure - Clojure は LazySeq を変更します

次のことを行う Java コードをいくつか継承しました。

1) Clojure から LazySeq オブジェクト (多数の PersistentHashMap オブジェクトで構成される) を受け取る

2) 次に、この同じ LazySeq オブジェクト (変更なし) を Clojure スクリプトに戻し、そこで String に変換して Java に戻します。

問題は、手順 (1) の後と手順 (2) の前に Java コード内で、LazySeq 内の PersistentHashMap オブジェクトの一部を変更してから、手順 (2) に進む必要があることです。何かのようなもの:

LazySeq seq = clojureFunctionReturningLazySeq();

//update the elements of the sequence

String result = clojureFunctionReceivingLazySeq(seq);

Clojure スクリプト自体を変更することはできず、LazySeq の更新は Java コード内で行う必要があります。LazySeq API を確認しましたが、要素を変更 (または追加) する方法が見つかりません。

ありがとうございました、

クリス

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

clojure - line-seq の動作はどうなりますか?

doseq最初の要素の一部を反復して保持する場合の遅延シーケンスの動作を理解したいと思います。

リストを保持したくありません。各要素で副作用を実行したいだけです。なくてfirst-itemも問題ないと思います。

プログラムでメモリの問題が発生しています。おそらく、シーケンスの開始時に何かへの参照を保持しているparsed-lineということは、シーケンス全体が保存されていることを意味していると思います。

ここで定義されている動作は何ですか? シーケンスが保存されている場合、オブジェクトのコピーを取得し、シーケンスの実現された部分をガベージ コレクションできるようにする一般的な方法はありますか?

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

clojure - clojure 遅延関数 - Clojure Koan

「反復は無限の遅延シーケンスを提供します」

私の質問は、なぜ 1 ではなく 0 から始まるのですか? ここで怠惰を理解する方法は?

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

clojure - 関数の遅延シーケンスの実行

関数の遅延シーケンスを強制的に評価する方法を知りたいです。

たとえば、整数 1 を返す関数があるとします。

そして、これらの関数の遅延シーケンスを構築します。

シーケンス内の関数を実際に実行するにはどうすればよいですか?

私はDoall を提案した How to convert lazy sequence to non-lazy in Clojureを読みました...しかし、結果がどこに行くのかわかりませんか? [1 1 1 1 1] または同様のものを期待しています。

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

f# - 無限フィボナッチ数列

シーケンスを使用して F# で Haskell の有名な無限フィボナッチ リストを模倣しようとしています。次のシーケンスが期待どおりに評価されないのはなぜですか? どのように評価されていますか?