Skip to content

第 9 章 我们栈里的其他面孔:Python、Aiken、bash

这一章的标准降一档:只到"认识"为止——见到能认出、大意能读懂、危险能分级,不求会改。

Python(.py——ForgeCard 树莓派上跑的就是它。最大特征:缩进就是语法。别的语言用花括号表示"哪些行属于这个块",Python 直接用缩进表示,所以它没有花括号、也基本不写分号,长相干净得像伪代码。看一段读卡循环的骨架:

python
while True:
    uid = reader.read_card()
    if uid:
        print(f"读到卡片: {uid}")
        verify(uid)

读:永远循环(树莓派永远醒着——第一册第 5 章那台客厅小服务器的日常)→ 读卡 → 读到了就打印并验证。print 就是第一册第 14 章那盏最土最有效的探照灯,Python 版。

Aiken(.ak——我们链上合约的语言。两件事记牢就够。其一:它的类型检查比 TS 更严苛,因为合约部署后不可修改(第一册第 12 章的学费),错误必须在部署前死绝,所以语言本身长成了一台超级安检机。其二:文件里那个叫 validator 的函数是合约的门神——每笔交易来敲门,它说放行或拒绝。本册对 .ak 只有一个要求:见到它,红线雷达自动拉满。它属于"改动前必须人来确认"的世界,具体规矩在我们的工程护栏里,不在这本书里。

bash 脚本(.sh——把第二册第 4 章的命令串成一个文件,一行一条,自动化的最小形态。第一行 #!/bin/bash 叫 shebang,意思是"本剧本由 bash 来演"。点开项目里的 deploy.shsetup.sh 这类文件,你会惊讶地发现:全是认识的命令在排队。

收个总账。语言们长相各异,骨架却相通:变量、函数、判断、循环,四大件人人都有。在任何陌生语言里先找这四件,第一层理解立刻建立——这就是"学第二门语言比第一门快十倍"的原因,而你现在已经在学第七门了。

认脸卡

缩进当语法、无分号 = Python;validator 加满屏类型 = Aiken,红线拉满;#!/bin/bash 开头、全是命令 = bash 脚本。

关键领悟

对这三门的要求是三十秒答出三问——什么语言?大概在干什么?危险几颗星?(.py 平常心,.sh 看内容,.ak 永远满星。)

试一试

打开 ForgeCard 仓库里任意一个 .py,只指认四大件——变量、函数、判断、循环各一处。再打开一个 .ak,什么都不改,只把 validator 的名字找出来,然后轻轻关上文件。

由 Charles Tao 与 Claude 协作写成——这本身就是这套书讲的工作方式。 · 许可