小编Jul*_*les的帖子

Clojure - 将字符串转换为整数向量的向量

我试图解析一个文件并使用每一行来执行任意数量的函数和参数。我想调用的函数接受两个整数向量向量用于矩阵乘法。我能够将参数解析为一个向量,这样我就可以对其和解析的函数符号调用 apply 。但我仍然需要将参数从字符串转换为适当的类型。我怎样才能实现这个目标?

函数头示例:

(defn ijk [[& matrixA] [& matrixB]]
   ...
  )
Run Code Online (Sandbox Code Playgroud)

输入文件示例:(用逗号分割字符串)

ijk,[[1 2] [3 4]],[[1 2] [3 4]]
kij,[[2 2] [3 4]],[[1 2] [3 4]]
Run Code Online (Sandbox Code Playgroud)

到目前为止我如何阅读该文件:

(defn get-lines [fname]
  (with-open [r (reader fname)]      
    (loop [file (line-seq r)]
      (if-let [[line & file] file]
        (do (let [[command & args] (str/split line #",")]
              ;apply (resolve (symbol command)) (vec args))    
              )
            (recur file))
        file))))
Run Code Online (Sandbox Code Playgroud)

(vec args)的格式:

[[[1 2] [3 4]] [[1 2] [3 4]]]
[[[2 2] [3 4]] [[1 2] [3 4]]] …
Run Code Online (Sandbox Code Playgroud)

clojure

1
推荐指数
1
解决办法
1938
查看次数

标签 统计

clojure ×1