hy/docs/contrib/multi.rst

24 lines
417 B
ReStructuredText
Raw Normal View History

2013-12-30 14:32:36 +01:00
========
defmulti
========
.. versionadded:: 0.10.0
2013-12-30 14:32:36 +01:00
`defmulti` lets you arity-overload a function by the given number of
args and/or kwargs. Inspired by clojures take on `defn`.
.. code-block:: clj
=> (require hy.contrib.multi)
=> (defmulti fun
... ([a] a)
... ([a b] "a b")
... ([a b c] "a b c"))
=> (fun 1 2 3)
'a b c'
=> (fun a b)
"a b"
=> (fun 1)
1