documentation for &kwonly
This commit is contained in:
parent
ef079d5e08
commit
4b00a84f9f
@ -441,6 +441,41 @@ Parameters may have the following keywords in front of them:
|
|||||||
=> (zig-zag-sum 1 2 3 4 5 6)
|
=> (zig-zag-sum 1 2 3 4 5 6)
|
||||||
-3
|
-3
|
||||||
|
|
||||||
|
&kwonly
|
||||||
|
.. versionadded:: 0.12.0
|
||||||
|
|
||||||
|
Parameters that can only be called as keywords. Mandatory
|
||||||
|
keyword-only arguments are declared with the argument's name;
|
||||||
|
optional keyword-only arguments are declared as a two-element list
|
||||||
|
containing the argument name followed by the default value (as
|
||||||
|
with `&optional` above).
|
||||||
|
|
||||||
|
.. code-block:: clj
|
||||||
|
|
||||||
|
=> (defn compare [a b &kwonly keyfn [reverse false]]
|
||||||
|
... (let [[result (keyfn a b)]]
|
||||||
|
... (if (not reverse)
|
||||||
|
... result
|
||||||
|
... (- result))))
|
||||||
|
=> (apply compare ["lisp" "python"]
|
||||||
|
... {"keyfn" (fn [x y]
|
||||||
|
... (reduce - (map (fn [s] (ord (first s))) [x y])))})
|
||||||
|
-4
|
||||||
|
=> (apply compare ["lisp" "python"]
|
||||||
|
... {"keyfn" (fn [x y]
|
||||||
|
... (reduce - (map (fn [s] (ord (first s))) [x y])))
|
||||||
|
... "reverse" true})
|
||||||
|
4
|
||||||
|
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
=> (compare "lisp" "python")
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<input>", line 1, in <module>
|
||||||
|
TypeError: compare() missing 1 required keyword-only argument: 'keyfn'
|
||||||
|
|
||||||
|
Availability: Python 3.
|
||||||
|
|
||||||
.. _defn-alias / defun-alias:
|
.. _defn-alias / defun-alias:
|
||||||
|
|
||||||
defn-alias / defun-alias
|
defn-alias / defun-alias
|
||||||
|
Loading…
Reference in New Issue
Block a user