[解決済み] Clojureの関数が可変数のパラメータを取るようにするには?
2023-06-14 11:43:18
質問
私はClojureを学んでいて、可変数のパラメータを取る関数を定義しようとしています (a バリアディック 関数)を定義し、それらを合計しようとしています(そう、ちょうど + プロシージャのように)。しかし、私はそのような関数を実装する方法を知りません。
私ができることは、すべて
(defn sum [n1, n2] (+ n1 n2))
もちろん、この関数は2つのパラメータと2つのパラメータのみを受け取ります。不定数のパラメータを受け付ける(そして処理する)方法を教えてください。
どのように解決するのですか?
一般に、非可換の場合は を適用します。 :
(defn sum [& args] (apply + args))
足し算は可換なので、このようなものもうまくいくはずです。
(defn sum [& args] (reduce + args))
&
原因
args
の左側には何もないので、この場合はリスト全体です。
&
).
の代わりなので、明らかにそのようにsumを定義することは意味を持ちません。
(sum a b c d e ...)
と書けばいいのです。
(+ a b c d e ....)
関連
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】MIPSの関数(プロシージャ)について
-
[解決済み] 関数内でのOCamlのシンタックスエラー
-
[解決済み] Haskellでfilter関数を使うにはどうしたらいいですか?
-
[解決済み] MATLABを使用して、ステップ入力または単位ランプに対する閉ループシステムの応答をプロットしてください。
-
[解決済み】「関数」と「プロシージャ」の違いは何ですか?
-
[解決済み] kotlin.Resultはなぜ戻り値として使えないのですか?
-
[解決済み] Visual Studioで関数のドキュメントを自動生成する
-
[解決済み] PostgreSQL関数のパラメータとしてのテーブル名
-
[解決済み] 関数の引数のデフォルト値を定義する
-
[解決済み] イテレータを受け取るRust関数はどう書けばいい?