clojure.main
Top-level main function for Clojure REPL and scripts.
clojure.main 中的变量
d
- demunge
- 给一个函数类的字符串形式,例如在栈跟踪元素中,返回一个可读的版本。
e
- ex-str
- 从异常数据中返回一个字符串,就像 ex-triage 产生的那样。第一行总结了异常阶段和位置。后续行描述了原因。
- ex-triage
- 根据 Throwable 数据返回对错误发生的时间阶段、错误、原因和位置的分析,Throwable->map 的返回结果。除了阶段外,所有属性都是可选的::clojure.error/phase - 关键字阶段指示符,其中之一::read-source :compile-syntax-check :compilation :macro-syntax-check :macroexpansion :execution :read-eval-result :print-eval-result :clojure.error/source - 文件名(无路径) :clojure.error/path - 源路径 :clojure.error/line - 整型行号 :clojure.error/column - 整型列号 :clojure.error/symbol - 正在展开/编译/调用的符号 :clojure.error/class - 原因异常类符号 :clojure.error/cause - 原因异常信息 :clojure.error/spec - 规格异常的说明数据
l
- load-script
- 从给定其路径的文件或资源中加载 Clojure 源。以 @ 或 @/ 开头的路径被认为是相对于类路径的。
m
- main
- 用法:java -cp clojure.jar clojure.main [init-opt*] [main-opt] [arg*] 在没有选项或参数的情况下,运行一个交互式读-求值-打印循环 初始化选项: -i, --init 路径 加载一个文件或资源 -e, --eval 字符串 求值字符串中的表达式;打印非空值 --report 目标 报告未捕获的异常到 “文件”(默认),“stderr”或“none”,覆盖 System 属性 clojure.main.report 主选项: -m, --main ns-name 用具有 args 的名称空间调用 -main 函数 -r, --repl 运行一个 REPL 路径 从一个文件或资源运行一个脚本当 从标准输入运行一个脚本 -h, -?, --help 打印此帮助消息并退出 操作: - 为可 set!- 设置的变量建立线程局部绑定项 - 输入用户名称空间 - 将 *command-line-args* 绑定到一个包含出现在任何主选项之后命令行 args 的字符串序列 - 按顺序运行所有初始化选项 - 根据请求调用 -main 函数或运行一个 REPL 或脚本 init 选项可以自由重复和混合,但必须出现在任何主选项之前。在运行 REPL 之前出现的任何 eval 选项可取消一般的 REPL 欢迎信息:“Clojure ~(clojure-version)”。路径可以在文件系统中是绝对路径或相对路径,也可以相对于 classpath。相对于 classpath 的路径具有前缀 @ 或 @/
r
- renumbering-read
- 从读者(它必须是一个 LineNumberingPushbackReader)读取时捕捉读取字符串。如果读取成功,则重置行号并重新读取。重新读取时的行号是传递的行号,除非显式地在读取的值上设置了 :line 或 :clojure.core/eval-file 元数据。
- repl
- 通用的、可重复使用的读-求值-打印循环。默认情况下,从 *in* 读取,写入 *out*,并打印异常摘要到 *err*。如果你使用默认 :read 挂钩,则 *in* 必须是 LineNumberingPushbackReader 的一个实例或重复其同时支持 .unread 和将 CR、LF 和 CRLF 折叠成一个 \newline 的行为。选项是顺序关键字-值对。可用选项及其默认值: - :init,没有参数的函数,在 set!- 变量的绑定就绪时调用初始化挂钩。默认:#() - :need-prompt,没有参数的函数,在每次读-求值-打印(第一个除外)之前调用,如果它返回 true,将会提示用户。默认:(if (instance? LineNumberingPushbackReader *in*) #(.atLineStart *in*) #(identity true)) - :prompt,没有参数的函数,提示获取更多输入。默认:repl-prompt - :flush,没有参数的函数,刷新输出 默认:flush - :read,有两个参数的函数,从 *in* 读取: - 返回其第一个参数请求一个新的提示 - 根据 need-prompt,这可能会导致 REPL 在再次读取之前提示 - 返回其第二个参数请求退出 REPL - 否则返回从输入流中读取的下一个对象 默认:repl-read - :eval,有一个参数的函数,返回其参数的求值 默认:eval - :print,有一个参数的函数,将参数打印到输出 默认:prn - :caught,有一个参数(可抛出)的函数,在读取、求值或打印引发异常或错误时调用 默认:repl-caught
- repl-read
- repl 的默认 :read 挂钩。从 *in* 读取,*in* 必须是 LineNumberingPushbackReader 的一个实例或重复其同时支持 .unread 和将 CR、LF 和 CRLF 折叠成一个 \newline 的行为。repl-read: - 跳过空格,然后 - 在行首返回 request-prompt,或 - 在流尾返回 request-exit,或 - 从输入流读取一个对象,然后 - 如果是行尾,则跳过下一个输入字符,然后 - 返回对象。
- report-error
- 为 Throwable 创建并输出一个异常报告到目标。选项::target - “文件”(默认),“stderr”,“无”如果指定了文件,但无法写入,则退回到 stderr。
s
- skip-if-eol
- 如果流 s 上的下一个字符是换行符,则跳过它,否则保持流不变。返回 :line-start、:stream-end 或 :body 来指示 s 上下一个字符的相对位置。流必须是 LineNumberingPushbackReader 的实例,或复制其同时支持 .unread 并将所有 CR、LF 和 CRLF 折叠为一个 \newline 的行为。
- skip-whitespace
- 跳过流 s 上的空白字符。返回 :line-start、:stream-end 或 :body 来指示 s 上下一个字符的相对位置。将逗号解释为空白字符,将分号解释为行尾注释。不将 #!解释为行尾注释,因为只提供了 1 个字符的前瞻。流必须是 LineNumberingPushbackReader 的实例,或复制其同时支持 .unread 并将所有 CR、LF 和 CRLF 折叠为一个 \newline 的行为。
w
- with-bindings
- 在针对通常需要设置的多个变量的线程局部绑定的上下文中执行体!*ns* *warn-on-reflection* *math-context* *print-meta* *print-length* *print-level* *compile-path* *command-line-args* *1 *2 *3 *e