LISP结构(Struct)

/ / LISP结构(Struct)

结构是用户定义的数据类型之一,它允许您组合不同类型的数据项。

假设你想在图书馆里查询你需要借的书。

无涯教程网

链接:https://www.learnfk.comhttps://www.learnfk.com/lisp/lisp-structures.html

来源:LearnFk无涯教程网

  • Title
  • Author
  • Subject
  • Book ID

定义结构

LISP中destruct宏允许您定义抽象记录结构,defstruct语句定义了一个新的数据类型,您的程序有多个属性。

要讨论Defstruct宏的格式,让我们编写Book Structure的定义,我们可以将图书结构定义为-

(defstruct book 
   title 
   author 
   subject 
   book-id 
)
  • 您可以使用setf更改书籍的组件,例如

(setf (book-book-id book3) 100)

结构示例

创建一个名为main.lisp的新源代码文件,并在其中键入以下代码。

(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)

祝学习愉快! (发现内容有误?请选中要编辑的内容 -> 右键 -> 修改 -> 提交!帮助我们改进教程质量)

精选教程推荐

👇 以下精选教程可能对您有帮助,拓展您的技术视野

大模型应用一站式开发 -〔袁从德〕

大数据应用实战 -〔曹犟〕

AI智能办公实战课 -〔李晓华〕

如何落地业务建模 -〔徐昊〕

如何成为学习高手 -〔高冷冷〕

恋爱必修课 -〔李一帆〕

实用密码学 -〔范学雷〕

从0开发一款iOS App -〔朱德权〕

大规模数据处理实战 -〔蔡元楠〕

📝 好记忆不如烂笔头,留下您的学习笔记吧!

暂无学习笔记,成为第一个分享的人吧!

您的笔记将帮助成千上万的学习者