使用 - >但不是匹配者

时间:2014-11-19 16:46:06

标签: list lisp associations

我需要使用 - >构建查找功能。我认为它是一个合法的移动生成器我不确定,但我需要为每个数据结构制作3个查找函数

关联列表

(defvar *data1*
    '((course (alf . lisp) (sue . java) (ralf . lisp) (nancy . lisp))
      (year (sue . 2) (nancy . 1) (ralf . 3) (alf . 4)
            (age (ralf . 22) (alf . 29) (sue . 22) (nancy . 20)))))

平淡无序的列表

(defvar *data2* '((alf age 29 year 2 course lisp)
                  (sue age 22 year 2 course java)
                  (ralf age 22 year 3 course lisp)
                  (nancy age 20 year 1 course lisp)))

具有隐式顺序的元组

(defvar *data3* '((alf 55 lisp 2)
                  (sue 22 java 3)
                  (ralf 16 lisp 1)
                  (nancy 23 ncc 1)))

一个函数,它将使用“ - >而不是匹配器”从数据结构中查找任何内容

例如:

(lookup 'ralf 'year data)
-> 22

这是我到目前为止所尝试的

(defun lookup (data3)
  (-> *data3* (data3)))

如果有人可以帮助我,我是编程Lisp的新手,真的很难

0 个答案:

没有答案