Tôi đang cố gắng viết một hàm Lisp có thể lấy đối số tùy chọn và từ khóa. Hàm bắt đầuLàm cách nào tôi có thể có đối số tùy chọn VÀ đối số từ khóa cho cùng một chức năng?
(defun max-min (v &optional max min &keyword (start 0) (end nil))
Khi tôi cố gọi hàm bằng cách sử dụng đối số từ khóa nhưng không phải là đối số từ khóa, tôi gặp lỗi. Những gì tôi đang cố gắng làm là
(max-min #(1 2 3 4) :start 1 :end 2)
Tôi nhận được lỗi Error: :START' is not of the expected type REAL'
Tôi cho rằng điều này là bởi vì nó đang cố gắng để ràng buộc :start
để max
. Làm cách nào tôi có thể làm việc này? Cảm ơn.