首页 > 其他分享 >无涯教程-Clojure - 循环语句函数

无涯教程-Clojure - 循环语句函数

时间:2023-10-24 13:32:29浏览次数:36  
标签:语句 10 教程 recur 示例 无涯 循环 Clojure loop

循环的特殊形式不同于" for" 循环。循环的用法与let绑定相同,为了使循环发生,为循环指定的参数(arity)数必须与循环的绑定数一致。

Loop - 语法

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

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

以下是此循环的示意图。

Loop Statement

Loop - 示例

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

(ns clojure.examples.hello
   (:gen-class))

;; This program displays Hello Learnfk
(defn Example []
   (loop [x 10]
      (when (> x 1)
         (println x)
         (recur (- x 2))))) 
(Example)

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

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

10
8
6
4
2

参考链接

https://www.learnfk.com/clojure/clojure-loop-statement.html

标签:语句,10,教程,recur,示例,无涯,循环,Clojure,loop
From: https://blog.51cto.com/u_14033984/8002997

相关文章

  • 土狗夹子机器人使用教程
    币圈量化夹子机器人使用步骤 第1步-在谷歌浏览器中设置MetaMask小狐狸钱包获取MetaMask小狐狸钱包地址:https://metamask.io/第2步-将币安智能链网络添加到MetaMask将BSC智能链添加到小狐狸钱包:第3步-打开Remix部署智能合约网站:https://remix.ethereum.org/......
  • 「Revit2023最新版下载」Autodesk Revit 2023汉化版附安装教程
    Revit是Autodesk公司著名的3D建模软件,是建筑行业BIM系统中应用最广泛的软件之一。其核心功能是三维建筑模型的参数化设计、渲染效果图、计算、土建建模、机电建模,用于帮助工程师在施工前的精确仿真阶段。软件地址:看置顶贴AutodeskRevit2023的软件特点过滤器中的OR条件。创建一个......
  • 无涯教程-Clojure - 库(Libraries)
    使Clojure库如此强大的一件事是Clojure框架有很多可用的库,在前面的示例中,我们已经看到很多用于Web测试,Web开发,开发基于swing的应用程序的库,以及用于连接MySQL数据库的jdbc库,以下只是几个其他库的几个示例。date.hml该库允许Clojure处理XML数据,要使用的库版本为org.clojure/data......
  • 小白学算法-数据结构和算法教程: 队列的应用
    检查给定图是否是二分图二分图是一种图,其顶点可以分为两个独立的集合U和V,使得每条边(u,v)要么连接从U到V的顶点,要么连接从V到U的顶点。换句话说,对于每个边(u,v),要么u属于U,v属于V,要么u属于V,v属于U。我们也可以说,不存在连接同一集合的顶点的边。如果图着色......
  • 小白学算法: 哈希 - 数据结构和算法教程
    散列是指使用称为散列函数的数学公式从可变大小的输入生成固定大小的输出的过程。该技术确定数据结构中项目存储的索引或位置。需要Hash数据结构互联网上的数据每天都在成倍增加,有效存储这些数据始终是一个难题。在日常编程中,这些数据量可能不是那么大,但仍然需要轻松高效地存储、访......
  • 小白学算法-数据结构和算法教程: 使用开放寻址线性探测实现自己的哈希表
    Java中使用链接实现哈希表所有数据结构都有其自身的特点,例如,当需要快速搜索元素(在log(n)中)时,会使用BST。当需要在恒定时间内获取最小或最大元素时,使用堆或优先级队列。类似地,哈希表用于在恒定时间内获取、添加和删除元素。在继续实施方面之前,任何人都必须清楚哈希表的工作原理。因此......
  • Cinema 4D 2023图文安装教程及下载
    Cinema4D(简称C4D)是一款专业的3D建模、动画和渲染软件,由德国公司Maxon开发。它广泛应用于影视、游戏、广告等行业,具有操作简单、功能强大、渲染速度快等优点。Cinema4D2023版本提供了最主要的功能-全面的对称性建模、本地资产管理和原生OCIO支持。更新引入了用于创建火焰、烟雾和......
  • 从零用VitePress搭建博客教程(7) -– 如何用Github Actions自动化部署到Github Pages?
    接上一节:从零用VitePress搭建博客教程(6)-–第三方组件库的使用和VitePress搭建组件库文档 我们搭建完成vitePress后,那么接下来就是如何部署到线上服务器,这里使用GithubPages,免得自己购买服务器,当然你也可以自己购买服务器来部署(比如阿里云服务器)。在部署之前,我们先简单了解......
  • 无涯教程-Clojure - 原子(Atoms)
    Atoms原子是Clojure中的一种数据类型,提供了一种管理共享,同步,独立状态的方法,原子就像任何其他编程语言中的任何引用类型一样。原子的主要用途是保存Clojure的不可变数据结构。原子是通过atom方法创建的。(nsclojure.examples.example(:gen-class))(defnexample[](de......
  • FreeRTOS深入教程(任务的引入及栈的作用)
    (文章目录)前言本篇文章开始带大家深入学习FreeRTOS,带大家学习什么是任务,并且深入学习栈的作用。一、任务的引入在FreeRTOS中,任务(Task)是一个基本的执行单元,它代表了一个并行执行的工作单元。FreeRTOS是一个实时操作系统,允许你创建多个任务,每个任务都有自己的代码、堆栈和优......