[解決済み] Clojureで遅延シーケンスを非遅延シーケンスに変換する方法
2023-01-10 17:47:40
質問
Clojureで、レイジーでないシーケンスのクラスが返されることを期待して、以下を試しました。
(.getClass (doall (take 3 (repeatedly rand))))
しかし、これはまだ
clojure.lang.LazySeq
. 私の推測では
doall
はシーケンス全体を評価しますが、メモ化のためにまだ有用であるため、元のシーケンスを返します。
では、遅延シーケンスから非遅延シーケンスを作成するイディオム的な手段は何でしょうか?
どのように解決するのですか?
doall
があればいいのです。ただ、その
seq
が型を持っているからと言って
LazySeq
は評価待ちであることを意味しません。のんびりした
seq
はその結果をキャッシュするので、あなたがする必要があるのは、遅延
seq
を一度歩くだけです。
doall
のように)一度だけ実行することで、すべてを強制し、怠惰でないようにします。
seq
は
ではない
は、コレクション全体を評価するよう強制します。
関連
-
[解決済み】ClojureでWebアプリケーションを作るには?[クローズド]
-
[解決済み] REPLでclojureファイルを再読み込みする方法
-
[解決済み] useとrequireの違い
-
[解決済み] Lispに関するPaul Grahamの指摘を説明してください [closed].
-
[解決済み] ClojureでStringを数値に変換するにはどうしたらいいですか?
-
[解決済み] Clojure CoreやContribでZip関数に相当するものはありますか?
-
[解決済み] Clojureのdoseqとforの違いについて
-
[解決済み] コンポジュール・ルートの "ビッグ・アイデア "とは?
-
[解決済み] ClojureのTransducersを簡単に説明できる人はいますか?
-
[解決済み] Lisp-1とLisp-2の違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] clojureの "let "の例を理解しようとすること
-
[解決済み] REPLでclojureファイルを再読み込みする方法
-
[解決済み] Clojure CoreやContribでZip関数に相当するものはありますか?
-
[解決済み] Clojure、Scheme/Racket、Common Lispの違いは何ですか?
-
[解決済み] clojureで指数を計算するには?
-
[解決済み] ClojureのTransducersを簡単に説明できる人はいますか?
-
[解決済み] Clojureはどんなことに使えるの?[クローズド]
-
[解決済み] clojureのキーワードを文字列に変換するには?
-
[解決済み] Lisp-1とLisp-2の違いは何ですか?
-
[解決済み] Clojureと他のLispsの比較 [終了しました]。