Đây là điều: Tôi không "có được" setf-expanders và muốn tìm hiểu cách chúng hoạt động.định nghĩa setf-expanders trong Common Lisp
tôi cần phải học cách họ làm việc vì tôi đã có một vấn đề mà có vẻ giống như một ví dụ điển hình cho lý do tại sao bạn nên tìm hiểu setf-expanders, vấn đề là như sau:
(defparameter some-array (make-array 10))
(defun arr-index (index-string)
(aref some-array (parse-integer index-string))
(setf (arr-index "2") 7) ;; Error: undefined function (setf arr-index)
Làm thế nào để viết một bộ mở rộng thích hợp cho ARR-INDEX?
Tôi không thể tìm thấy điều này trong CLHS, ở đâu? –
@Nowhereman: http://www.lispworks.com/documentation/HyperSpec/Body/26_glo_f.htm#function_name –
Tôi đã thấy nó trong bảng chú giải thuật ngữ, nhưng nó giải thích cách xác định hàm setf bằng (defun (setf) foo) ...)? –