[解決済み] Clojureのdoseqとforの違いについて
2022-05-18 13:22:37
質問
Clojureのdoseqとforの違いは何ですか? また、どちらか一方を選択する場合の例としてはどのようなものがありますか?
どのように解決するのですか?
違いは
for
は遅延シーケンスを構築し、それを返すのに対し
doseq
は副作用の実行用で、nilを返します。
user=> (for [x [1 2 3]] (+ x 5))
(6 7 8)
user=> (doseq [x [1 2 3]] (+ x 5))
nil
user=> (doseq [x [1 2 3]] (println x))
1
2
3
nil
他の配列を元に新しい配列を作りたい場合は、forを使用します。ある配列の要素に基づいて副作用(印刷、データベースへの書き込み、核弾頭の発射など)を行いたい場合は、doseqを使用します。
関連
-
[解決済み] clojureの "let "の例を理解しようとすること
-
[解決済み】ClojureでWebアプリケーションを作るには?[クローズド]
-
[解決済み] REPLでclojureファイルを再読み込みする方法
-
[解決済み] javaからclojureを呼び出す
-
[解決済み] useとrequireの違い
-
[解決済み] 実社会で活躍するLisp【クローズド
-
[解決済み] Lispに関するPaul Grahamの指摘を説明してください [closed].
-
[解決済み] Clojure CoreやContribでZip関数に相当するものはありますか?
-
[解決済み] Clojure、Scheme/Racket、Common Lispの違いは何ですか?
-
[解決済み] Clojure: リデュース vs. アプライ
最新
-
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 "の例を理解しようとすること
-
[解決済み】ClojureでWebアプリケーションを作るには?[クローズド]
-
[解決済み] REPLでclojureファイルを再読み込みする方法
-
[解決済み] useとrequireの違い
-
[解決済み] 実社会で活躍するLisp【クローズド
-
[解決済み] clojureプロトコルの簡単な説明
-
[解決済み] ClojureでStringを数値に変換するにはどうしたらいいですか?
-
[解決済み] Clojure CoreやContribでZip関数に相当するものはありますか?
-
[解決済み] Clojure、Scheme/Racket、Common Lispの違いは何ですか?
-
[解決済み] Clojureのdoseqとforの違いについて