lisp

    0熱度

    1回答

    我正在使用Reagent編寫一些代碼,其中一部分涉及編寫一些回調和狀態操作。 這些地方中的一些會使用默認參數調用函數,我不想對它們做任何事情。我只想返回一個不變的值。 例如,當我使用類似#(true)的東西時,我會得到一個異常,而且我必須編寫(fn [_] true)。有沒有一種方法讓lambda簡寫知道它正在獲取參數而不使用它?

    0熱度

    1回答

    編寫一個Scheme函數,該函數返回給定整數列表中的偶數列表。該列表可能並不簡單,可能會出現嵌套列表,您需要查找偶數這些數字。使用 (DEFINE(evenlist numberlist) 此作爲一個機構和獲取結果某事像這樣 (DEFINE(evenlist numberlist) 結果:(2 4 6 4) (define (evenlist numberlist) (cond

    0熱度

    2回答

    (defun index-iteration (n) (let ((x 0)) (loop for j from 0 to n while (< x n) do (setf x (max-index-for-iteration j))))) 我有以下lisp代碼,在循環結束時我想返回值j。我已經調查: collect但返回與我想要的值(最後j末) finally

    0熱度

    2回答

    作爲將數據作爲數據操作的練習,我想取一塊Clojure代碼並更改所有bar調用foo調用。但是我在檢查函數平等方面遇到了一些困難。我的問題是: (= foo foo) ;returns true (= foo (first `(foo))) ;returns false 什麼是檢查第二個平等的正確方法?

    2熱度

    1回答

    我在做exercise 3.13 from SICP但我不確定我的答案。 練習3.13:考慮下列使循環過程,它使用 在練習3.12所定義的最後一對程序: (定義(使循環x)的(設定CDR(最後所對x)x)的x)的 繪製的箱和指針圖,其示出了由 (定義Z(使循環(列表 'A' b「創建的結構z對於C))) 如果我們發生什麼事嘗試計算(最後一對z)? 我試圖理解爲什麼 (last-pair z)

    0熱度

    1回答

    我給出了對lisp-like語言的遞歸閉包建模的兩種方法的描述。假設我有以下代碼: (letrec ((f (fun (l) … (map f l) …)))) …) 對於與f關閉我能: 款待f作爲自由變量,並把它放在自己的環境,這導致環閉合。 平坦的封閉,環境是封閉的,可以直接重複使用。 我正在使用扁平關閉的概念,它在其第一個單元格中存儲一個指向函數的指針,其餘的自由變量。但我對第二種選擇感

    -3熱度

    1回答

    爲什麼Clojure的juxt並列命名?我不明白什麼是並列的。這與具有直觀命名的partial和comp形成對比。

    -1熱度

    2回答

    我很新的LISP,我不知道如何使我的無限參數功能停止評估其餘的參數時,其中一個因素是0。已經試過 (defmacro smart_multiplication (&rest l) (unless(member 0 l) `(* ,@l)) ) 但我認爲這並不會停止倍增,直到它檢查所有的變量。

    0熱度

    2回答

    我想知道我在做什麼錯在這裏用矢量設置 (define foo0 (lambda (vec) (let* ((newvec (vector vec)) (l (vector-length vec)) (norm (norm0 vec))) (do ((i 0(+ i 1))) ((= i l)) (vector-s

    0熱度

    1回答

    我正在做一個家庭作業任務,並且第一個函數讓我執行諸如刪除列表中給定元素或顯示列表的給定元素等操作。接下來的功能要求我刪除嵌套列表或顯示它們。你有使用嵌套列表的一般技巧嗎?我想這些功能與我之前寫的功能非常相似,只是稍微調整了一下。 這是我迄今爲止編寫的兩個函數示例。注意我必須使用寫作功能的「cond」風格。 (defun delnth(L A) (cond ((= A 1) (rest L