Common Lisp入门笔记(二)赋值与输入输出

您所在的位置:网站首页 赋值和输入 Common Lisp入门笔记(二)赋值与输入输出

Common Lisp入门笔记(二)赋值与输入输出

2024-07-16 13:27:39| 来源: 网络整理| 查看: 265

摘自 《Lisp语言- 陈光喜》

一、赋值

(1)let

Lisp中使用let来完成局部变量的定义。其形式为:(let  ((var1 exp1)(var2 exp2)…(varn expn))                                                                                                 exps) 

其中操作符 let 表明将定义局部变量。 (vari expi)对表示变量名 vari, 该变量的初始值为表达式 expi的值。Let 语句中的 exps 部分为表达式集合,完成所需要的处理。所定义的诸变量 var1,…,varn在这些表达式有效,即在 let 语句体内有效。整个 let 语句的返回值为语句体中最后一条语句的值。如:

>(let ((a 1) (b 2) (c (+ 5 3)))           (+ a (* b c))           (- (* a c) (* b c)))  >-8 

(2)defparameter

defparameter用来实现全局变量定义。一般约定全局变量的命名为左右各写一个*号,如:

> (defparameter *var* 123)  >*VAR* 

(3)defconstant

defconstant 用来定义全局常量,如:

>(defconstant c 12) >C

要判断某个符号是否被定义为全局变量或常量,可以使用 boundp 来检验。例如:

>(boundp 'c) >T

(4)setf

setf是常用赋值操作符。对某个符号(没有定义为局部变量)首次使用setf赋值,该符号将被系统作为全局变量。这是一种隐式定义全局变量的方法,但是不值得提倡。

>(setf  *var*  1234)

>1234

二、 输入输出

(1)Common Lisp 最常用输出命令是format。用法如下:

> (format   t   "~%The clever dog can do ~A + ~A =~A ." 2 35)  The clever dog can do 2 + 3 =5 .  NIL  Fortmat 的第一个参数是输出地,此例的参数 t 表示输出到 toplevel;第二个参数是输出格式串,~% 表示换行, ~A 表示该位置将用对应的参数进行替换。 Common Lisp 的打印格式串有多种控制符,如: ~A,~S,~P  是用于对象控制的。例如, >(format t "~%TildeS prints ~S~%TildeA prints ~A " 'ACL::asymbol 'ACL::asymbol )  TildeS prints ACL::ASYMBOL  TildeA prints ASYMBOL   NIL  此例应注意~A 与~S 差别。~S 可以打印出控制符,而~A 不能。~P 打印复数后缀”s”。 ~D ~B ~O ~X ~R 为整数控制符,它们分别打印十进制、二进制、八进制、十六进制、基数。 > (format nil " ~D ~B ~O ~X ~R" 12 12 12 12 12)  " 12 1100 14 C twelve"  ~E ~F ~G ~$为浮点数控制符,分别按照指数格式、定点式、浮点式、浮点定点结合方式。例, > (format nil " ~E ~F   ~G ~$" 123450 123450 123450 123450)  " 1.2345E5 123450.0   123450.      123450.00"  >    (format nil " ~E ~F   ~G ~$" 123.450 123.450 123.450 12.3450)  " 1.2345E2 123.45   123.45      12.35"  ~n%,~n&,~|  为空白控制符,分别表示 n 换行,n-1 行,新一页。 >   (format nil "begin ~2% and   ~2&end")  "begin  

 and   

end "  值得注意的是,在上述例子中,format 的第一个参数为 nil 时,打印执行后返回值不出现 nil;而参数 为 t 时,打印执行后返回值出现 nil> (SETF A (READ))  这就是所谓 Lisp 的副产品

(2)Common Lisp的标准输入运算符是read ,如:

> (SETF A (READ)) >12 



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭