首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Lisp - setq和car

LISP(LISt Processing)是一种功能强大的编程语言,它的设计初衷是为了方便地操作列表

setq

setq 是LISP中用于设置变量值的函数。它接受一个或多个参数,每个参数都是一个变量名和值的组合。setq会将每个变量名与其对应的值关联起来。如果变量名已经存在,setq会更新其值;如果不存在,setq会创建一个新的变量。

语法:

代码语言:javascript
复制
(setq variable1 value1 variable2 value2 ...)

示例:

代码语言:javascript
复制
(setq a 10)
(setq b 20)
(setq a 30) ; 更新变量a的值

car

car 是LISP中用于获取列表第一个元素的函数。如果给定的参数是一个列表,car会返回列表中的第一个元素。如果给定的参数不是列表,car会抛出一个错误。

语法:

代码语言:javascript
复制
(car list)

示例:

代码语言:javascript
复制
(setq my-list '(1 2 3 4 5))
(car my-list) ; 返回1

结合setq和car

你可以使用setqcar一起操作列表。例如,你可以创建一个新变量,其值为另一个列表的第一个元素。

示例:

代码语言:javascript
复制
(setq list1 '(10 20 30))
(setq first-element (car list1))
; 现在,first-element 的值为 10

或者,你可以使用setq更新列表的第一个元素。

代码语言:javascript
复制
(setq list1 '(10 20 30))
(setq list1 (cons 100 (cdr list1)))
; 现在,list1 的值为 (100 20 30)

总之,setqcar是LISP中用于操作变量和列表的基本函数。熟练掌握它们对于编写高效的LISP程序至关重要。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Emacs Lisp

    前言 Lisp 是一门很古老的语言 LISP 是具有悠久历史的计算机编程语言家族,有独特和完全括号的前缀符号表示法,起源于1958年,是现今第二悠久而仍广泛使用的高级编程语言,只有 FORTRAN 编程语言比它更早一年...,LISP 编程语族已经演变出许多种方言,现代最著名的通用编程语种是 Common Lisp 和 Scheme , 以上解释来自 WIKI Emacs Lisp 是 Lisp 的一个分支 Emacs Lisp...== 表达式,变量和函数 == ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; 冒号在Lisp...;; Lisp中使用括号构造列表,使用setq给变量赋值。...;; 如果想要得到列表中的第一个元素,可以使用car函数 (car list-of-names) ;; 如果想要得到列表中的除第一个元素以外的其它元素,可以使用cdr函数 (cdr list-of-names

    2.3K40

    Emacs Lisp

    前言 Lisp 是一门很古老的语言 LISP 是具有悠久历史的计算机编程语言家族,有独特和完全括号的前缀符号表示法,起源于1958年,是现今第二悠久而仍广泛使用的高级编程语言,只有 FORTRAN 编程语言比它更早一年...,LISP 编程语族已经演变出许多种方言,现代最著名的通用编程语种是 Common Lisp 和 Scheme , 以上解释来自 WIKI Emacs Lisp 是 Lisp 的一个分支 Emacs Lisp...== 表达式,变量和函数 == ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; 冒号在Lisp...;; Lisp中使用括号构造列表,使用setq给变量赋值。...;; 如果想要得到列表中的第一个元素,可以使用car函数 (car list-of-names) ;; 如果想要得到列表中的除第一个元素以外的其它元素,可以使用cdr函数 (cdr list-of-names

    2.2K30

    开源硬件年度回顾:Car Things和OpenWrt One

    译自 The Year in Open Source Hardware: Car Things and OpenWrt One,作者 David Cassel。...今年有几个项目展示了社区的独创性和对开放性和易访问性的承诺:2024年,他们共同推动创新曲线向前发展…… 开放的胜利 开源硬件不仅仅关乎抽象原则。...今年的几个项目有力地证明了为什么需要开源硬件: 11月,OpenWrt One无线互联网路由器发布——软件自由保护协会将其誉为“设计和制造考虑到您的软件自由和维修权利”。...OpenWrt One及其外壳 Spotify已停产的音乐流媒体“Car Thing”设备于12月9日最终完全停止工作,TechCrunch报道。...“然而,其理念和广泛采用使其成为开源硬件运动不可或缺的一部分。” 而开源硬件创新正由一个充满创造力的树莓派制造商社区提供。

    8410

    日拱一卒,伯克利CS61A,居然有Lisp这样的语言……

    这一次作业使用的是Lisp的一个方言版本——scheme,简单介绍一点作业当中会用到的语法。 语法 基本运算 Lisp最大的特点就是它代码的表示形式,和常规的语言完全不同。...其实很简单,和运算符是一样的,比如我们要计算5的平方,写出来就是: (square 5) pair和list Lisp中pair的定义和C++有些类似,两个参数打包成为一个pair。...除了cons之外还有三个常用的符号,分别是car,cdr和nil。car用来返回pair中的第一个元素,cdr用来返回pair中的第二个元素,nil表示一个空的list。...使用cons一个一个嵌套非常麻烦,所以Lisp中专门提供了一个操作符叫做list,用来直接创建list。 符号 问题来了,我们怎么在Lisp当中区分变量和符号呢?...(car t)) (intersect (cdr s) t)) ((> (car s) (car t)) (intersect s (cdr t))) ) ) 并集的逻辑和交集类似

    98540

    Lisp语言简介_c++是什么语言

    LISP有很多种方言,各个实现中的语言不完全一样。1980年代Guy L. Steele编写了Common Lisp试图进行标准化,这个标准被大多数解释器和编译器所接受。...在Unix/Linux系统中,还有一种和Emacs一起的Emacs Lisp(而Emacs正是用Lisp作为扩展语言进行功能扩展的)非常流行,并建立了自己的标准。...LISP语言的主要现代版本包括Common Lisp和Scheme。 基本介绍 LISP 是第一個函數型程式語言,区别于C/Java等命令型编程语言。...基本操作符3 eq (eq x y) 当 x 和y 的值相同或者同为空表时返回t,否则返回空表 () > (eq ‘a ‘a)t> (eq ‘a ‘b)()> (eq ‘() ‘())t 基本操作符4...car (car x) 要求 x 是一个表,它返回 x 中的第一个元素,例如: > (car ‘(a b))a 基本操作符5 cdr (cdr x) 同样要求 x 是一个表,它返回x中除第一个元素之外的所有元素组成的表

    2.4K21
    领券