5

clojure では、 defnk を使用して名前付きパラメーターを取得できます。ClojureScript で同じことを達成するにはどうすればよいですか?

4

1 に答える 1

11

ClojureScript の名前付き引数の機能は、Clojure と同じです。

(defn f [x & {:keys [a b]}] 
  (println (str "a is " a " and b is " b)))

(f 1)
; a is  and b is 

(f 1 :a 42)
; a is 42 and b is 

(f 1 :a 42 :b 108)
; a is 42 and b is 108

デフォルト値が必要な場合は、元の値を次のように変更します。

(defn f [x & {:keys [a b] :or {a 999 b 9}}]
  (println (str "a is " a " and b is " b)))

(f 1)
; a is 999 and b is 9

これは、 Clojure - 名前付き引数の素敵な答えに関連しています

于 2012-01-03T16:42:37.137 に答える