当前位置:首页 > 工业技术
Perl语言编程思想
Perl语言编程思想

Perl语言编程思想PDF电子书下载

工业技术

  • 电子书积分:15 积分如何计算积分?
  • 作 者:(美国)劳伦特·罗森菲尔德,Allen Downey
  • 出 版 社:北京:中国电力出版社
  • 出版年份:2019
  • ISBN:9787519833374
  • 页数:480 页
图书介绍:本书分为两部分,从每个程序员需要了解的基本概念开始,然后重点介绍不同的编程范例和一些更高级的编程技术。本书主要内容有:学习基本概念,包括变量、表达式、语句、函数、条件、递归和循环。了解常用的基本数据结构和最有用的算法。深入研究面向对象的编程,并学习如何构建自己的类型和方法来扩展语言。使用语法和正则表达式分析文本内容。探索函数式编程如何帮助你使代码更简单、更具表现力。
《Perl语言编程思想》目录

前言 1

第Ⅰ部分 基础篇 11

第1章 编程之道 11

什么是程序? 11

运行Perl 6 13

第一个程序 14

算术操作符 15

值和类型 16

形式语言和自然语言 18

调试 20

词汇表 21

练习 23

第2章 变量、表达式和语句 25

赋值语句 25

变量名 27

表达式和语句 29

脚本模式 31

单行模式 33

运算次序 33

字符串操作 34

注释 35

调试 36

词汇表 37

练习 39

第3章 函数 41

函数调用 41

函数和方法 44

数学函数 45

组织代码 46

添加新函数(又名子程序) 47

定义和使用 50

计算流程 50

形式参数和实际参数 51

变量和参数是局部的 52

堆栈图 53

有成效的函数和空函数 54

函数签名 56

可变和不可变参数 58

作为头等公民的函数和子程序 59

为什么引入函数和子程序? 61

调试 62

词汇表 63

练习 65

第4章 循环、条件和递归 68

整除和取模 68

布尔表达式 69

逻辑运算符 71

条件化执行 73

否则执行分支 74

链接条件 75

嵌套条件 76

if条件作语句为修饰符 77

unless条件语句 77

for循环 78

递归 80

递归子例程的堆栈关系图 82

无限递归 83

键盘输入 83

程序参数和MAIN子程序 84

调试 85

词汇表 86

练习 88

第5章 有成效的子程序 91

返回值 91

渐进开发 93

组织代码 96

布尔函数 97

一个完整的编程语言 98

深入递归 99

靠信心的飞跃 102

再举一个例子 102

检查类型 103

multi子程序 105

调试 106

词汇表 108

练习 108

第6章 迭代 111

赋值与等值 111

重新赋值 112

更新变量 112

while语句 113

局部变量和变量作用域 115

控制流语句(last、next等) 118

平方根 120

算法 123

调试 123

词汇表 124

练习 125

第7章 字符串 127

字符串是一个序列 127

常用字符串操作符 128

字符串长度 128

字符串中查找子字符串 129

从字符串中提取子字符串 130

其他几个有用的字符串函数或方法 131

使用while或for循环遍历字符串 133

循环和计数 135

正则表达式(正则) 136

使用正则表达式 137

创建正则表达式模式 139

字面匹配 139

通配符和字符类 140

量词 141

锚点和断言 142

分支条件 144

分组和捕获 145

副词(又叫修饰符) 146

正则表达式练习 147

整合在一起 148

提取日期 148

提取IP地址 150

替换 151

subst方法 151

s/search/replace/结构 152

使用捕获 153

副词(修饰符) 153

调试 153

词汇表 156

练习 157

第8章 案例研究:文字游戏 161

读取文件和写入文件 161

读取单词列表 163

练习 164

查找 166

超过20个字符的单词(解决方案) 166

不含“e”的单词(解决方案) 167

避免其他字母(解决方案) 168

只使用部分字母(解决方案) 169

使用列表的所有字母(解决方案) 170

字母顺序(解决方案) 170

归约到先前解决的问题的另一个例子 172

调试 172

词汇表 173

练习 173

第9章 数组和列表 176

列表和数组都是序列 176

数组是可变的 179

向数组中添加或移除某项 181

堆栈和队列 183

修改数组的其他方法 184

遍历列表 186

新的循环构造 188

Map、Filter和Reduce 190

将列表归约为值 190

归约元操作符 191

将列表映射到另一个列表 192

筛选列表元素 194

高阶函数与函数式编程 195

固定大小的数组、固定类型的数组和固定形状的数组 196

多维数组 197

排序数组或列表 198

更高级的排序技术 199

调试 203

词汇表 204

练习 205

第10章 哈希 209

哈希是映射 209

哈希的常见操作 212

哈希作为集合的计数器 214

循环和哈希 215

反向查找 216

存在与否的测试 217

哈希键是唯一的 219

哈希和数组 220

备忘录 223

哈希作为调度表 225

全局变量 226

调试 227

词汇表 228

练习 229

第11章 案例分析:数据结构选择 232

三元条件算子 232

“Switch”语句given...when 233

子程序命名参数和可选参数 235

命名参数 235

可选参数 236

词频分析 237

随机数 238

用词的频率 240

可选参数 243

哈希减法 244

构造新运算符 245

set、bag和mix 246

随机词 248

马尔可夫分析 250

数据结构 253

构建自己的数据结构 254

链表 255

树 256

二叉堆 257

调试 260

词汇表 262

练习:哈夫曼编码 262

变长代码 263

频率表 264

建立哈夫曼代码 264

第Ⅱ部分 高级篇 271

第12章 类和对象 271

对象、方法和面向对象的编程 272

程序员定义的类型 273

属性 275

创建方法 277

矩形和对象内嵌 280

实例作为返回值 282

继承 283

像素类 283

MovablePoint类 285

多重继承:有意思,但明智吗? 287

角色和构成 288

类和角色:示例 289

角色组合和代码重用 291

角色、类、对象和类型 292

方法委派 293

多态性 294

封装 296

私有方法 297

使用私有属性构造对象 298

接口和实现 300

面向对象编程:一个故事 301

牧羊人的寓言 301

寓意 302

多态性 303

调试 303

Perl 6调试器 304

得到一些帮助 304

逐句运行代码 305

在正确的地方停用断点 305

通过跟踪点来记录变量信息 306

跟踪正则匹配过程 306

词汇表 307

第13章 正则和语法 310

简要回顾 310

声明式编程 312

捕获 312

命名规则(子规则) 314

自定义语法 317

语法继承 319

操作对象 320

用于分析JSON的语法 322

JSON格式 322

我们的JSON示例 323

逐步编写JSON语法 323

JSON语法 326

添加操作 327

继承和可变文法 330

调试 330

词汇表 333

练习:数学计算器的语法 334

第14章 函数式编程 335

高阶函数 335

重新审视:函数作为头等对象 335

匿名子程序和Lambda表达式 337

闭包 339

列表处理和管道编程 341

Feed和反向Feed运算符 342

归约元操作符 343

Hyper操作符 343

交叉运算符X和拉链运算符Z 344

列表运算符:小结 345

创建新操作符 346

创建自己的类Map函数 350

自定义版本的map、grep和类似函数 350

我们自己的sort函数 351

迭代器版本的map 353

迭代器版本的grep 354

Gather和Take机制 357

惰性列表和序列运算符 359

序列运算符 360

无限列表 361

使用显式生成器 361

柯里化和无穷操作符 364

创建柯里子程序 364

用assuming方法对现有子程序进行柯里化 365

使用函数编程风格 367

合并排序算法 368

合并排序的非函数化实现 368

合并排序的函数式实现 370

调试 371

词汇表 376

练习:快速排序 377

第15章 最后的一些建议 379

让它清晰,保持简单 379

必要的和禁忌的 380

使用成语 383

接下来是什么? 386

附录A 本书练习的答案 389

相关图书
作者其它书籍
返回顶部