Clojure

在 REPL 中编程:入门

本指南适用于至少对 Clojure 有 基本了解 并希望更熟练地使用 Clojure REPL 的开发人员。

什么是 REPL?

Clojure REPL(代表 Read-Eval-Print Loop,读-求值-打印循环)是一个编程环境,它使程序员能够通过一次评估一个代码表达式来与运行的 Clojure 程序进行交互并修改它。

A Clojure REPL in a terminal
图 1. 终端窗口中的 Clojure REPL

 

An editor-integrated Clojure REPL
图 2. 集成编辑器的 Clojure REPL

为什么要使用 REPL?

Clojure REPL 为程序员提供了交互式开发体验。在开发新功能时,它使程序员能够首先通过手动执行小型任务来构建程序,就好像她是计算机一样,然后逐渐使它们变得越来越自动化,直到所需的功能完全编程。在调试时,REPL 使程序的执行感觉可触碰:它使程序员能够快速重现问题,仔细观察其症状,然后即兴进行实验,快速缩小错误原因的范围并迭代到修复程序。

许多 Clojure 程序员认为 REPL 以及它提供的紧密反馈循环是使用 Clojure 最令人信服的原因。这并不意味着 Clojure 的语言特性(如不可变数据结构)没有价值:Clojure REPL 的优势在于由于这些特性,特别是由于 Clojure 是为了交互式开发而设计的。

在 Clojure 中,程序员通常会将 REPL 用于各种编程任务,而在其他语言中,她会转向其他类型的工具。这些任务包括

  • 启动本地开发环境,

  • 运行自动化测试套件,

  • 一次性数据库查询和干预,

  • 调试,

  • 编排远程机器,

  • 熟悉库和 API,

  • …​以及各种形式的探索。

从根本上说,程序员将 REPL 用于所有这些任务的原因始终如一:因为他们想要将自动化和即兴发挥结合起来,而这既不能通过完全手动工具(如仪表板、控制台等)提供,也不能通过完全自动化的工具(如脚本)提供,同时保持工作流程在一个功能齐全的编程环境中集中。

本指南将涵盖的内容

本指南将从帮助您开始使用 Clojure REPL 开始,然后逐渐转向越来越高级的 Clojure REPL 使用方式。

根据您的需求,您可能不需要阅读本指南的全部内容

首先,我们将学习如何 启动基本 Clojure REPL