Ví dụ về Clojure arity-quá tải trên các chức năng như sau (lấy từ cookbook):Clojure :: chức năng arity-quá tải gọi nhau
(defn argcount
([] 0) ; Zero arguments
([x] 1) ; One argument
([ x & args] (inc (count args)))) ; List of arguments
... sử dụng một hình thức mà không có vẻ cho phép các hàm có độ tinh khiết thấp hơn chỉ đơn giản gọi các hàm của arity cao hơn với một số giá trị mặc định (đó là một thành ngữ phổ biến trong Java). Có phải một số hình thức đặc biệt khác được sử dụng cho điều đó không?
Có hai cách để làm điều này, và câu hỏi này đã được trả lời trên StackOverflow. Đặc biệt chú ý đến câu trả lời thứ hai, sau này: http://stackoverflow.com/a/8660833/152739 – Scott
Dường như làm việc tốt cho tôi: user => (defn f ([] (f 1)) ([ x] x)) # 'người dùng/f người dùng => (f) 1 –