1

述語関数と要素リストの 2 つのリストを受け入れ、pre1_list のすべての述語を保持している元のリストのすべてのメンバーを返し、pre2_list のすべての述語を保持していない元のリストのメンバーを削除する関数を書きたい

私はこのコードをミニ Lisp と呼ばれる言語で書いています。これは Lisp に似ていますが、より単純ですが、それは問題ではありません。そのようなコードを実装する方法のアイデア!

どのように私はそれを行うことを考えています: (私のアイデアの始まりに過ぎません)

(defun get_pred_1_not_2 (pre1_list pre2_list list)
  (cond
    ((null list) NIL)
      ; return all the members in the original list that hold all the predicates in pre1_list
    (pre1_list (get_pred_1_not_2 (cdr pre1_list) pre2_list (filter_pre list (car pre1_list))))
      ; delete all the members in the original list that unhold all the predicates in pre2_list
    (pre2_list (get_pred_1_not_2 pre1_list (cdr pre2_list) ;.... ( 

wherefilter_preは、それに与える述語を保持するリストからすべての要素を返す関数です

誰かが助けてくれることを願っています! この関数は本当に書くのが難しいので、あきらめたくありませんありがとう

4

1 に答える 1