Gherkin 项目教程
1、项目介绍
Gherkin 是一个用 GNU Bash 4 编写的功能编程语言和解释器,旨在实现跨 *nix 平台的极端可移植性。Gherkin 是一种 Lisp 方言,类似于 Clojure 和 Scheme,具有同像性、一级函数和操作各种数据类型的原始函数,如字符串、整数、符号和列表。作为 *nix 和 shell 环境的一员,Gherkin 还提供了与 *nix 和 shell 的互操作功能。
Gherkin 目前处于 alpha 状态,但我们的目标是继续开发功能,直到 Gherkin 可以替代 Bash 用于一般用途的 *nix 脚本。
2、项目快速启动
环境准备
Gherkin 需要 GNU Bash 版本 4 或更高版本。如果你使用的是 Linux,这可能已经是你的默认 shell。如果你使用的是 Mac,建议使用 Homebrew 安装最新版本的 Bash。
启动 REPL
启动 Gherkin 的 Read-Evaluate-Print-Loop (REPL) 并评估一个简单的表达式:
./gherkin
> (+ 1 2)
3
你可以使用 Ctrl-D
退出 REPL。
运行脚本
运行 fib.gk
脚本来计算第 60 个斐波那契数:
./gherkin -l fib.gk
加载核心库并启动 REPL
加载核心库并启动 REPL:
./gherkin -l core.gk -r
在 REPL 中尝试一个核心库函数:
> (load-file "core")
nil
> (map inc '(1 2 3))
(2 3 4)
3、应用案例和最佳实践
应用案例
Gherkin 可以用于编写跨平台的 *nix 脚本,特别适合需要功能编程特性的场景。例如,你可以使用 Gherkin 编写复杂的管道处理脚本,利用其一级函数和列表操作功能。
最佳实践
- 模块化编程:将功能分解为多个小模块,每个模块负责一个特定的任务。
- 错误处理:在关键操作中添加错误处理代码,确保脚本的健壮性。
- 文档化:为每个模块和函数编写详细的文档,方便后续维护和扩展。
4、典型生态项目
Gherkin-mode
Gherkin-mode 是一个由 Craig Andera 贡献的 Emacs 模式,用于编辑 Gherkin 代码。它提供了语法高亮、自动补全等功能,极大地提高了开发效率。
Mal
Mal(Make a Lisp)是由 Joel Martin 发起的项目,灵感来自 Gherkin。Mal 包含了数十种语言的 Lisp 实现,包括 Bash。虽然它缺少垃圾回收功能,但其 Bash Lisp 非常简洁且易于扩展。
通过以上模块的介绍,你可以快速上手并深入了解 Gherkin 项目。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考