[解決済み] Clojure: リデュース vs. アプライ
2022-07-04 01:14:49
質問
の概念的な違いについては理解しています。
reduce
と
apply
:
(reduce + (list 1 2 3 4 5))
; translates to: (+ (+ (+ (+ 1 2) 3) 4) 5)
(apply + (list 1 2 3 4 5))
; translates to: (+ 1 2 3 4 5)
しかし、どちらがよりイディオム的なclojureなのでしょうか? どちらか一方に大きな違いがあるのでしょうか? 私の(限られた)パフォーマンス・テストでは、どうやら
reduce
は少し速いようです。
どのように解決するのですか?
reduce
そして
apply
はもちろん、変数アリティの場合にすべての引数を見る必要がある連想関数についてだけ(返される最終結果という点で)等価です。結果的に等価である場合、私は、以下のように言うでしょう。
apply
は常に完璧な慣用句であり、一方
reduce
は同等であり、多くの一般的なケースで瞬きの数分の一を削ることができるかもしれません。以下は、このように考える私の根拠です。
+
はそれ自体が
reduce
関連
-
[解決済み] clojureの "let "の例を理解しようとすること
-
[解決済み】ClojureでWebアプリケーションを作るには?[クローズド]
-
[解決済み] REPLでclojureファイルを再読み込みする方法
-
[解決済み] useとrequireの違い
-
[解決済み] 実社会で活躍するLisp【クローズド
-
[解決済み] clojureプロトコルの簡単な説明
-
[解決済み] Clojure CoreやContribでZip関数に相当するものはありますか?
-
[解決済み] Clojure、Scheme/Racket、Common Lispの違いは何ですか?
-
[解決済み] Clojure: リデュース vs. アプライ
-
[解決済み] Clojureのdoseqとforの違いについて
最新
-
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でWebアプリケーションを作るには?[クローズド]
-
[解決済み] REPLでclojureファイルを再読み込みする方法
-
[解決済み] useとrequireの違い
-
[解決済み] 実社会で活躍するLisp【クローズド
-
[解決済み] Lispに関するPaul Grahamの指摘を説明してください [closed].
-
[解決済み] clojureプロトコルの簡単な説明
-
[解決済み] ClojureでStringを数値に変換するにはどうしたらいいですか?
-
[解決済み] Clojure、Scheme/Racket、Common Lispの違いは何ですか?
-
[解決済み] Clojure: リデュース vs. アプライ
-
[解決済み] Clojureのdoseqとforの違いについて