Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Clojure-将字符串转换为整数向量的向量_Clojure - Fatal编程技术网

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

Clojure-将字符串转换为整数向量的向量,clojure,Clojure,我试图解析一个文件,并使用每一行执行任意数量的函数和参数。我要调用的函数接受两个整数向量向量,用于矩阵乘法。我能够将参数解析为一个向量,这样我就可以调用apply和解析的函数符号。但是我仍然需要将参数从字符串转换为适当的类型。我怎样才能做到这一点 函数头示例: (defn ijk [[& matrixA] [& matrixB]] ... ) 输入文件示例:(用逗号拆分字符串) 到目前为止我是如何阅读该文件的: (defn get-lines [fname] (w

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

函数头示例:

(defn ijk [[& matrixA] [& matrixB]]
   ...
  )
输入文件示例:(用逗号拆分字符串)

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

(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))))
的格式(vec参数):


我需要将args向量中的每个矩阵转换为上面整数向量的向量。任何和所有的帮助都非常感谢这个Clojure noob

您可以使用
clojure.edn/read string
将字符串解析为数据结构:

(def args ["[[1 2] [3 4]]"
           "[[1 2] [3 4]]"])
(mapv clojure.edn/read-string args)
=> [[[1 2] [3 4]] [[1 2] [3 4]]]

您可以使用
clojure.edn/read string
将字符串解析为数据结构:

(def args ["[[1 2] [3 4]]"
           "[[1 2] [3 4]]"])
(mapv clojure.edn/read-string args)
=> [[[1 2] [3 4]] [[1 2] [3 4]]]
(def args ["[[1 2] [3 4]]"
           "[[1 2] [3 4]]"])
(mapv clojure.edn/read-string args)
=> [[[1 2] [3 4]] [[1 2] [3 4]]]