Lisp-数据类型

  • 时间:
  • 浏览:89
  • 来源:it300
在Lisp中,变量不是类型化的,但数据对象是类型化的。Lisp数据类型可以分类为。标量类型-例如,数字类型、字符、符号等。数据结构-例如,列表、向量、位向量和字符串。任何变量都可以将任何Lisp对象作为其值,除非您已明确声明它。尽管,它不是NEC但是,它有助于某些循环扩展、方法声明以及我们将在后面的章节中讨论的其他一些情况。数据类型被排列成层次结构。数据类型是一组Lisp对象,许多对象可能属于这样的一个集合。typep谓词用于查找对象是否属于特定类型。函数类型返回给定对象的数据类型。lisp type说明符中的类型说明符是数据类型的系统定义符号。arrayFixNumPackageSimple-StringAtomfloatpAthnameSimple VectorBigNumFunction随机状态的浮动位哈希表比率标准Charbit向量机比率流字符关键字读取表字符串[common]列表序列[string char]编译函数long floatShort floatSymbolComplexNilsigned ByetConsNullSimple数组由Double floatNumberSimple位向量机签名除了这些系统之外-定义的类型,您可以创建自己的数据类型。使用defstruct函数定义结构类型时,结构类型的名称将成为有效的类型符号。示例1创建名为main.lisp的新源代码文件,并在其中键入以下代码。实时演示(setq x 10)(setq y 34.567)(setq ch nil)(setq n 123.78)(setq bg 11.0e 4)(setq r 124/2)(print x)(print y)(print n)(print ch)(print bg)(print r)单击“执行”按钮或键入ctrl e时,lisp立即执行,返回的结果为−10 34.567 123.78 nil 110000.0 62示例2接下来,让我们检查所用变量的类型在上一个示例中。创建名为main的新源代码文件。lisp并在其中键入以下代码。实时演示(defvar x 10)(defvar y 34.567)(defvar ch nil)(defvar n 123.78)(defvar bg 11.0e 4)(defvar r 124/2)(打印(x的类型))(打印(y的类型))(打印(n的类型))(打印(ch的类型))(打印(bg的类型))(打印(r的类型))单击“执行”按钮或键入ctrl e时,lisp立即执行,返回的结果为−(整数0 281474976710655)单浮单浮空单浮(整数0 2814749767710655)

猜你喜欢

希腊最高法院批准俄罗斯对比特币嫌疑人的请求

希腊最高法院批准俄罗斯对比特币嫌疑人的请求希腊最高法院上周五表示,一名据称使用比特币数字货币洗钱40亿美元的俄罗斯人应该被引渡到俄罗斯,一位法院消息人士说。AlexanderV

2019-02-01

塑造美国网络防御的创造性破坏和自满情绪

塑造美国网络防御的创造性破坏和自满情绪创造性的破坏,思维的范式转换取代现有的秩序,可能是一个难以捉摸的概念,但它作为人类行为驱动力的力量是不可否认的。在硅谷和其他美国的高层科技

2019-02-01

为什么我(非常)担心PRISM

为什么我(非常)担心PRISM美国国家安全局正在利用我们的数字生活,监控语音电话,电子邮件,社交媒体以及谁知道什么。美国国家安全局方面的人说,这是为了国家安全;它已经停止了恐怖

2019-02-01

先发优势:为什么新的恶意软件最初会打败反恐

先发优势:为什么新的恶意软件最初会打败反恐虽然反病毒解决方案可以有效对抗广泛使用的恶意软件,但是有一个很好的机会,新的恶意软件会躲过那些解决方案。最近有重大安全事件的报告激增,

2019-02-01

台湾银行抢劫与朝鲜黑客有关

台湾银行抢劫与朝鲜黑客有关最近针对台湾一家银行的网络抢劫事件已被安全研究人员联系到一个据信在朝鲜境外活动的臭名昭着的威胁组织。黑客利用SWIFT全球金融网络大致窃取来自台湾远东

2019-02-01