当前位置: 首页 > 文档资料 > Clojure 中文教程 >

Loop 声明

优质
小牛编辑
132浏览
2023-12-01

循环特殊形式不像'for'循环。 循环的用法与let绑定相同。 但是,循环设置递归点。 递归点旨在与recur一起使用,这意味着循环始终与recur一起使用。 要发生循环,为recurs指定的参数(arity)的数量必须与循环的绑定数一致。 这样,recur就会回到循环中。

语法 (Syntax)

以下是循环语句的一般语法。

loop [binding]
(condition
   (statement)
   (recur (binding)))

以下是此循环的图解表示。

循环声明

例子 (Example)

以下是'for-in'语句的示例。

(ns clojure.examples.hello
   (:gen-class))
;; This program displays Hello World
(defn Example []
   (loop [x 10]
      (when (> x 1)
         (println x)
         (recur (- x 2))))) 
(Example)

在上面的例子中,我们首先使用loop语句将'x'的值绑定到10。 然后我们使用when condition clause来查看'x'的值是否小于1.然后我们将'x'的值打印到控制台并使用recur语句重复循环。 在'x'的值减2后重复循环。

输出 (Output)

上面的代码产生以下输出。

10
8
6
4
2

最后更新:

类似资料

  • 2.2. 声明 声明语句定义了程序的各种实体对象以及部分或全部的属性。Go语言主要有四种类型的声明语句:var、const、type和func,分别对应变量、常量、类型和函数实体对象的声明。这一章我们重点讨论变量和类型的声明,第三章将讨论常量的声明,第五章将讨论函数的声明。 一个Go语言编写的程序对应一个或多个以.go为文件后缀名的源文件中。每个源文件以包的声明语句开始,说明该源文件是属于哪个包。

  • 本页包含内容: 模块范围 代码块 引入声明 常量声明 变量声明 类型的别名声明 函数声明 枚举声明 结构体声明 类声明 协议声明 构造器声明 析构声明 扩展声明 下标脚本声明 运算符声明 声明修饰符 一条声明可以在你的程序里引入新的名字和构造。举例来说,你可以使用声明来引入函数和方法,变量和常量,或者来定义 新的命名好的枚举,结构,类和协议类型。你也可以使用一条声明来延长一个已经存在的命名好的类型

  • 这里需要说明一下,笔者不建议在Windows环境下进行深度学习的研究,一方面是因为Windows所对应的框架搭建的依赖过多,社区设定不完全;另一方面,Linux系统下对显卡支持、内存释放以及存储空间调整等硬件功能支持较好。如果您对Linux环境感到陌生,并且大多数开发环境在Windows下更方便操作的话,希望这篇文章对您会有帮助。 关于计算机的硬件配置说明 推荐配置 如果您是高校学生或者高级研究人

  • 本教程不得用于任何形式的商业用途,如果需要转载请与作者SCP-173联系,如果发现未经允许复制转载,将保留追求其法律责任的权利。 关于计算机的硬件配置说明 推荐配置 如果您是高校学生或者高级研究人员,并且实验室或者个人资金充沛,建议您采用如下配置: 主板:X99型号或Z170型号 CPU:i7-5830K或i7-6700K 及其以上高级型号 内存:品牌内存,总容量32G以上,根据主板组成4通道或8

  • 一旦获得连接,我们就可以与数据库进行交互。 JDBC Statement, CallableStatement,和PreparedStatement接口定义了使您能够发送SQL或PL/SQL命令以及从数据库接收数据的方法和属性。 它们还定义了有助于桥接数据库中使用的Java和SQL数据类型之间的数据类型差异的方法。 下表提供了每个接口确定要使用的接口的目的的摘要。 接口 推荐用途 Statemen

  • 此书电子版免费供大家下载阅读,如果您已为此副本付费,请立即申请退款并联系作者举报此行为。请注意,虽然此书电子版免费供大家阅读,但这并不代表作者放弃了版权,您在未经授权的情况下依然不得以任何方式复制或抄袭本书内容。此书的电子版目前仅授权图灵社区和百度阅读两个平台发布,如果您通过其他渠道获取到了此副本,则是侵权行为,请到上述两个平台下载合法授权的副本。获取合法授权副本的好处是可以及时得到此书的最新版本