结构是用户定义的数据类型之一,它允许您组合不同类型的数据项。
假设你想在图书馆里查询你需要借的书。
LISP中destruct宏允许您定义抽象记录结构,defstruct语句定义了一个新的数据类型,您的程序有多个属性。
要讨论Defstruct宏的格式,让我们编写Book Structure的定义,我们可以将图书结构定义为-
(defstruct book title author subject book-id )
您可以使用setf更改书籍的组件,例如
(setf (book-book-id book3) 100)
创建一个名为main.lisp的新源代码文件,并在其中键入以下代码。
链接:https://www.learnfk.comhttps://www.learnfk.com/lisp/lisp-structures.html
来源:LearnFk无涯教程网
(defstruct book title author subject book-id ) ( setq book1 (make-book :title "C Programming" :author "Nuha Ali" :subject "C-Programming Tutorial" :book-id "478") ) ( setq book2 (make-book :title "Telecom Billing" :author "Zara Ali" :subject "C-Programming Tutorial" :book-id "501") ) (write book1) (terpri) (write book2) (setq book3( copy-book book1)) (setf (book-book-id book3) 100) (terpri) (write book3)
当您执行代码时,它返回以下结果-
#S(BOOK :TITLE "C Programming" :AUTHOR "Nuha Ali" :SUBJECT "C-Programming Tutorial" :BOOK-ID "478") #S(BOOK :TITLE "Telecom Billing" :AUTHOR "Zara Ali" :SUBJECT "C-Programming Tutorial" :BOOK-ID "501") #S(BOOK :TITLE "C Programming" :AUTHOR "Nuha Ali" :SUBJECT "C-Programming Tutorial" :BOOK-ID 100)
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)