Clojure在线运行

版本:
运行结果
教程手册
代码仓库
极速运行
交互输入
极速运行模式,更高效的运行,点击编辑器上方的运行按钮即刻体验吧。
以下是用户最新保存的代码
[更多]
显示目录

递归



Clojure 递归

我们已经在前面的主题中看到了recur语句,而'for'循环有点像一个循环,recur是Clojure中的一个真正的循环。

如果你有编程背景,你可能听说过尾递归,这是功能语言的一个主要特点。 这个循环特殊形式是实现尾递归的形式。 如“尾递归”一词所示,recur必须在尾部位置调用。 换句话说,recur必须是最后一个要评估的东西。

recur语句的最简单的例子在'for'循环中使用。 在以下示例中,recur语句用于更改变量“i”的值,并将变量的值反馈回循环表达式。

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

;; This program displays Hello World
(defn Example []
   (loop [i 0]
      (when (< i 5)
      (println i)
      (recur (inc i)))))
(Example)
输出

以上示例输出以下结果:

0
1
2
3
4
由JSRUN为你提供的Clojure在线运行、在线编译工具
        JSRUN提供的Clojure在线运行,Clojure 在线运行工具,基于linux操作系统环境提供线上编译和线上运行,具有运行快速,运行结果与常用开发、生产环境保持一致的特点。

title

使用此草稿 删除草稿

注册登录后可减少验证码的弹出,点击前往 注册 | 登录

皮肤:

运行模式:

嵌入代码 iframe嵌入: