在线 Clojure 编译器
在浏览器中编写、编译并运行 Clojure 代码,适合学习、练习与快速验证。
Clojure 代码编辑器
输出
标准输出(stdout)
标准错误(stderr)
执行信息
退出码:
运行状态:
使用说明
- 在左侧编辑器编写 Clojure 代码(例如使用
println输出)。 - 点击“运行代码”即可在线编译并执行程序。
- 右侧面板展示输出与错误信息。
- 绿色区域为标准输出(例如
println)。 - 红色区域为运行错误与异常栈信息。
- 执行信息包含退出码与运行状态。
- 快捷键:
Ctrl+Enter(Mac 上为Cmd+Enter)。
Clojure 基础
基本结构:
;; 简单的 Hello World
(println "Hello, Clojure!")
(println "Hello, Clojure!")
常用数据结构:
[1 2 3] ;; 向量
{:a 1 :b 2} ;; 映射
#{1 2 3} ;; 集合
{:a 1 :b 2} ;; 映射
#{1 2 3} ;; 集合
控制结构
条件与循环:
(if (> 3 2) (println ">2") (println "<=2"))
(doseq [i (range 3)] (println i))
(doseq [i (range 3)] (println i))
函数与序列
函数示例:
(defn add [a b] (+ a b))
(println (add 2 3))
(println (add 2 3))
常见问题
支持哪些 Clojure 版本?
通常支持常见的 Clojure 版本,具体实现以后端环境为准。
可以引入第三方库吗?
运行环境为沙箱,暂不支持在线引入外部依赖。建议使用基础语言与标准库示例。
运行是否有时间限制?
有。为避免死循环并保证公平使用,运行有时间限制,超时会自动终止。
可以保存代码吗?
暂不支持在线保存。建议将重要代码复制到本地,或使用收藏夹/笔记工具保存片段。
可以交互输入吗?
当前不支持交互式输入。可将测试数据直接写入代码中以进行验证。
示例程序(点击上方运行)
1. 递归计算阶乘
(defn fact [n]
(if (<= n 1) 1 (* n (fact (dec n)))))
(println "5! =" (fact 5))
(if (<= n 1) 1 (* n (fact (dec n)))))
(println "5! =" (fact 5))
2. 映射与过滤
(println (map #(* % %) [1 2 3 4]))
(println (filter odd? [1 2 3 4]))
(println (filter odd? [1 2 3 4]))