2024 Clojure 状态调查!分享你的想法。

欢迎!请参阅关于页面获取更多有关如何使用此网站的信息。

0
REPL
已关闭

因此,我在刷新语言方面做了一些工作,因为我还试图将 Clojure 知识永久存储在长期记忆中。已经在主机 Windows 11 上通过 VSCode 设置了与 Arch Linux 的远程 WSL 2.0 连接,因为我默认使用 Linux 进行所有开发。

问题可能是简单的,但我无法定位到。

尝试从 clojure.core 中调用 (read-line) 在 Calva 的输出中显示了一个错误 无法解析符号:read-line,而 Calva 是使用 Joyride 启动的 REPL。

core 默认加载了吗?出了什么问题?

;checking if ns is the problem
(ns encoder)

;repl output check
(defn queue [] 0)
(println str (queue))

(def files-list)
;test
(do (print "Name yourself now: ")
    (flush)
    (read-line)) => Could not resolve symbol: read-line

;debug test
(println "Enter (literal) filename to encode> ")
(def input (read-line)) => Could not resolve symbol: read-line
(println (str "File to encode: " input))
;cant call read-line from core? wtf

;finish this
(defn add-queue-confirm [filenames]
  (println "Files to process: " filenames))
已注解为关闭:问题已解决。

1 答案

+1

选中
 
最佳答案

如果你在使用 Joyride,这不是 JVM Clojure。

Joyride 是一个用于脚本 VSCode 的 ClojureScript 环境,它使用 SCI 解释 ClojureScript。与 ClojureScript 类似,它核心库中没有 read-line 函数。


编辑
哇,我以为它支持 clj 和 cljs。那么我应该使用 Leiningen 吗?现在推荐的入门方法是什么?(估计我以后会捣鼓 ClojureScript)
Joyride 是学习 Clojure 的绝佳环境。它有一些限制,例如没有 `read-line`,正如您所注意到的,但总体来说,它是一个非常完整的 Clojure 实现。

如果您想使用 JVM Clojure 学习,我建议您自己创建一个最小的 `deps.edn` 项目并从这里开始。它可以是最小的,例如

    .
    ├── deps.edn
    └── src
        └── hello.clj

然后 `deps.edn` 文件可以包含一个空的映射 `{}`。

然后使用 Calva Jack-in 启动这个项目的 REPL(**Calva: 启动项目 REPL 并连接**)。
明白了,非常感谢你们两位
...