图书介绍

实用Common Lisp编程2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

实用Common Lisp编程
  • (美)塞贝尔著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:7115263742
  • 出版时间:2011
  • 标注页数:417页
  • 文件大小:47MB
  • 文件页数:436页
  • 主题词:

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

实用Common Lisp编程PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 绪言:为什么是Lisp1

1.1为什么是Lisp2

1.2 Lisp的诞生4

1.3本书面向的读者6

第2章 周而复始:REPL简介8

2.1选择一个Lisp实现8

2.2安装和运行Lisp in a Box10

2.3放开思想:交互式编程10

2.4体验REPL11

2.5 Lisp风格的“Hello,World”12

2.6保存工作成果13

第3章 实践:简单的数据库17

3.1CD和记录17

3.2录入CD18

3.3查看数据库的内容19

3.4改进用户交互21

3.5保存和加载数据库23

3.6查询数据库24

3.7更新已有的记录——WHERE再战江湖28

3.8消除重复,获益良多29

3.9总结33

第4章 语法和语义34

4.1括号里都可以有什么34

4.2打开黑箱34

4.3 S-表达式36

4.4作为Lisp形式的S-表达式38

4.5函数调用39

4.6特殊操作符39

4.7宏41

4.8真、假和等价42

4.9格式化Lisp代码43

第5章 函数46

5.1定义新函数46

5.2函数形参列表47

5.3可选形参48

5.4剩余形参49

5.5关键字形参50

5.6混合不同的形参类型51

5.7函数返回值52

5.8作为数据的函数——高阶函数53

5.9匿名函数55

第6章 变量57

6.1变量的基础知识57

6.2词法变量和闭包60

6.3动态变量61

6.4常量65

6.5赋值65

6.6广义赋值66

6.7其他修改位置的方式67

第7章宏:标准控制构造69

7.1 WHEN和UNLESS70

7.2 COND71

7.3 AND、OR和NOT72

7.4 循环72

7.5 DOLIST和DOTIMES73

7.6 DO74

7.7 强大的LOOP76

第8章 如何自定义宏78

8.1 Mac的故事:只是一个故事78

8.2宏展开期和运行期79

8.3 DEFMACRO80

8.4示例宏:do-primes81

8.5宏形参82

8.6生成展开式83

8.7堵住漏洞84

8.8用于编写宏的宏88

8.9超越简单宏90

第9章 实践:建立单元测试框架91

9.1两个最初的尝试91

9.2重构92

9.3修复返回值94

9.4更好的结果输出95

9.5抽象诞生97

9.6 测试层次体系97

9.7总结99

第10章 数字、字符和字符串101

10.1数字101

10.2字面数值102

10.3初等数学104

10.4数值比较106

10.5高等数学107

10.6字符107

10.7字符比较107

10.8字符串108

10.9字符串比较109

第11章 集合111

11.1向量111

11.2向量的子类型113

11.3作为序列的向量114

11.4序列迭代函数114

11.5高阶函数变体116

11.6整个序列上的操作117

11.7排序与合并118

11.8子序列操作118

11.9序列谓词119

11.10序列映射函数120

11.11哈希表120

11.12哈希表迭代122

第12章 LISP名字的由来:列表处理123

12.1“没有列表”123

12.2函数式编程和列表126

12.3“破坏性”操作127

12.4组合回收性函数和共享结构129

12.5列表处理函数131

12.6映射132

12.7其他结构133

第13章 超越列表:点对单元的其他用法134

13.1树134

13.2集合136

13.3查询表:alist和plist137

13.4DESTRUCTURING-BIND141

第14章 文件和文件I/O143

14.1读取文件数据143

14.2读取二进制数据145

14.3批量读取145

14.4文件输出145

14.5关闭文件146

14.6文件名147

14.7路径名如何表示文件名149

14.8构造新路径名150

14.9目录名的两种表示方法152

14.10与文件系统交互153

14.11其他1/O类型154

第15章 实践:可移植路径名库157

15.1 API157

15.2 FEATURES*和读取期条件化157

15.3列目录159

15.4测试文件的存在162

15.5遍历目录树164

第16章 重新审视面向对象:广义函数165

16.1广义函数和类166

16.2广义函数和方法167

16.3 DEFGENERIC168

16.4 DEFMETHOD169

16.5方法组合171

16.6标准方法组合172

16.7其他方法组合173

16.8多重方法174

16.9未完待续176

第17章 重新审视面向对象:类177

17.1 DEFCLASS177

17.2槽描述符178

17.3对象初始化179

17.4访问函数182

17.5 WITH SLOTS和WITH-ACCESSORS185

17.6分配在类上的槽186

17.7槽和继承187

17.8多重继承188

17.9好的面向对象设计190

第18章 一些FORMAT秘诀191

18.1 FORMAT函数192

18.2 FORMAT指令193

18.3基本格式化194

18.4字符和整数指令194

18.5浮点指令196

18.6英语指令197

18.7条件格式化198

18.8迭代199

18.9跳,跳,跳201

18.10还有更多202

第19章 超越异常处理:状况和再启动203

19.1 Lisp的处理方式204

19.2状况205

19.3状况处理器205

19.4再启动207

19.5提供多个再启动210

19.6状况的其他用法211

第20章 特殊操作符213

20.1控制求值213

20.2维护词法环境213

20.3局部控制流216

20.4从栈上回退219

20.5多值23

20.6 EVAL-WHEN224

20.7其他特殊操作符227

第21章 编写大型程序:包和符号228

21.1读取器是如何使用包的228

21.2包和符号相关的术语230

21.3三个标准包230

21.4定义你自己的包232

21.5打包可重用的库234

21.6导入单独的名字235

21.7打包技巧236

21.8包的各种疑难杂症237

第22章 高阶LOOP240

22.1LOOP的组成部分240

22.2迭代控制241

22.3计数型循环241

22.4循环集合和包242

22.5等价-然后迭代243

22.6局部变244

22.7解构变量245

22.8汇聚245

22.9无条件执行247

22.10条件执行247

22.11设置和拆除248

22.12终止测试250

22.13小结251

第23章 实践:垃圾邮件过滤器252

23.1垃圾邮件过滤器的核心252

23.2训练过滤器255

23.3按单词来统计257

23.4合并概率259

23.5反向卡方分布函数261

23.6训练过滤器262

23.7测试过滤器263

23.8一组工具函数265

23.9分析结果266

23.10接下来的工作268

第24章 实践:解析二进制文件269

24.1二进制文件269

24.2二进制格式基础270

24.3二进制文件中的字符串271

24.4复合结构273

24.5设计宏274

24.6把梦想变成现实275

24.7读取二进制对象277

24.8写进制对象279

24.9添加继承和标记的结构280

24.10跟踪继承的槽281

24.11带有标记的结构284

24.12基本二进制类型285

24.13当前对象栈288

第25章 实践:ID3解析器290

25.1 ID3v2标签的结构291

25.2定义包292

25.3整数类型292

25.4字符串类型294

25.5 ID3标签头297

25.6 ID3帧298

25.7检测标签补白300

25.8支持ID3的多个版本301

25.9版本化的帧基础类303

25.10版本化的具体帧类304

25.11你实际需要哪些帧305

25.12文本信息帧307

25.13评论帧309

25.14从ID3标签中解出信息310

第26章 实践:用AllegroServe进行Web编程315

26.130秒介绍服务器端Web编程315

26.2AllegroServe317

26.3用AllegroServe生成动态内容320

26.4生成HTML321

26.5HTML宏324

26.6查询参数325

26.7cookie327

26.8小型应用框架329

26.9上述框架的实现330

第27章 实践:MP3数据库334

27.1数据库334

27.2定义模式336

27.3插入值338

27.4查询数据库340

27.5匹配函数342

27.6获取结果344

27.7他数据库操作346

第28章 实践:Shoutcast服务器348

28.1Shoutcast协议348

28.2歌曲源349

28.3实现Shoutcast351

第29章 实践:MP3浏览器357

29.1播放列表357

29.2作为歌曲源的播放列表359

29.3操作播放列表362

29.4查询参数类型365

29.5样板HTML367

29.6浏览页368

29.7播放列表371

29.8查找播放列表373

29.9运行应用程序374

第30章 实践:HTML生成库,解释器部分375

30.1设计一个领域相关语言375

30.2 FOO语言376

30.3字符转义379

30.4缩进打印器380

30.5 HTML处理器接口381

30.6美化打印器后台382

30.7基本求值规则385

30.8下一步是什么389

第31章 实践:HTML生成库,编译器部分390

31.1编译器390

31.2 FOO特殊操作符395

31.3 FOO宏399

31.4公共API401

31.5结束语403

第32章 结论:下一步是什么404

32.1查找Lisp库404

32.2与其他语言接口406

32.3让它工作,让它正确,让它更快406

32.4交付应用程序413

32.5何去何从415

热门推荐