ansi-common-lisp

    0熱度

    1回答

    在流程中,可以定義功能,如 (define f (lambda (x) ...)) 特別的,你可以做這樣的事情 (define f (g)) 其中g是一些函數返回一個函數。是否可以在Common Lisp中執行相同的操作,即將函數符號與給定的匿名函數關聯起來?

    -2熱度

    4回答

    我對lisp非常陌生。我試圖寫一個函數命名X2Y這需要兩個參數x和y這是整數,並返回其從X開始,位於y (defun xtoy (X Y) (cond ((> X Y) (list nil)) ((= X Y) (list Y))) (T (append (list X) x2y(+ 1 X) Y)))))

    3熱度

    1回答

    我想定義類對象的方法,它們繼承基於類的祖先,就像實例的方法繼承一樣。有沒有辦法做到這一點? 以下是什麼不工作:eql -method專業化。考慮下面這個例子: (defclass animal()()) (defclass bird (animal)()) (defclass woodpecker (bird)()) (defmethod wings-p ((animal-class (e

    2熱度

    2回答

    我已經在2天前開始學習Lisp,並且正在閱讀Paul Graham的ANSI Common List,它以非常有趣的方式公開了語言結構。對於初學者來說,這不是太理論,也不是太淺(正如Sierra-Bate的Head First Java,我個人討厭)。在簡短的通用語言介紹之後,他開始討論回合列表並舉出一個簡單列表壓縮的例子。基本上,讓el是一個重複n次的元素。你用一個單獨的列表替換所有的列表。要做

    7熱度

    2回答

    鑑於該實施例中的代碼(從Reddit /r/lisp question): (defun next (pos) (nth (1+ pos) '(0 1 2 3 4 5 6 7 8 9 10))) (defvar *next* (function next)) (let ((old-next #'next) (previous (make-hash-tabl