请在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 是一个 ClojureScript 环境,用于脚本 VSCode,使用 SCI 解释 ClojureScript。与 ClojureScript 类似,它内核库中没有 read-line 函数。

by
edited by
哇,我以为它支持 clj 和 cljs 两种。我应该使用 Leiningen 吗?现在推荐的是哪个?(我想我会在以后玩 ClojureScript)
by
Joyride 是学习 Clojure 的一个好环境。它有一些约束,比如没有 `read-line`,就像你注意到的,但总体上,它是一个非常完整的 Clojure 实现。

如果你想用 JVM Clojure 学习,我推荐创建自己的最小 `deps.edn` 项目,并从那里开始工作。它可以最小化到这样的

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

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

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