clojure - 尝试在 Clojure 中拆分字符串遇到惰性序列问题
问题描述
我正在解决一个读取文件的问题,其中包含以下行:
A abcdefg
B bcdefgh
但是我不断收到有关与 Java Charseq 不兼容的延迟序列的错误。
我试过了:
(def notlazy (doall lyne2))
然后以为我验证了:
(realized? notlazy)
true
但仍然:
(str/split notlazy #" ")
ClassCastException class clojure.lang.LazySeq cannot be cast to class
java.lang.CharSequence (clojure.lang.LazySeq is in unnamed module of
loader 'app'; java.lang.CharSequence is in module java.base of loader
'bootstrap') clojure.string/split (string.clj:219)
请帮忙!
解决方案
to 的第一个参数str/split
必须是CharSequence
要拆分的 a。大概你想分割序列中的每个输入行,你可以使用它map
而不需要急切地评估输入序列:
(map (fn [line] (str/split line #" ")) lyne2)
推荐阅读
- sql - 将 TEXT 转换为日期('yyyy-mm-dd')格式(Postgresql)时输出不正确
- javascript - map 不是函数 无法从 api 获取数据
- javascript - 未捕获的类型错误:无法读取未定义的属性(读取“窗口”)
- javascript - 在顶点图表的面积图中准确显示工具提示
- jbase - “tRun EX”命令给出“FATAL ERROR FROM T24.INITIALISE INVALID TERMINAL MODEL DEFAULT”
- git - 即使在硬重置之后,Git pull 也会中止
- create-react-app - npm start,编译失败
- ruby-on-rails - 我试图在 rails 项目中使用我的第一个 css gem 时遇到错误
- kubernetes - 从 cli 将 MountOptions 添加到 Kubernetes 入口规则
- javascript - 如何使用条件来确定输出绑定是否存在?