Clojure 2024调查问卷中分享你的想法!

欢迎!请查看关于页面了解如何使用本站。

0
REPL
已关闭

所以,我一直在复习语言,因为我还在尝试将我的clojure知识牢固地保存在长期记忆中。我在主机:Windows 11上通过VSCode设置了一个到Arch Linux的Remote WSL 2.0连接,因为我默认用Linux进行所有开发。

问题很简单,但我无法确定。

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

核心不是默认加载的吗?怎么回事

;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 函数。

哇,我以为它同时支持 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 并连接**)。
明白了,非常感谢你们两位。
...