Я пытаюсь проанализировать файл и использовать каждую строку для выполнения любого количества функций и параметров. Функции, которые я хочу вызвать, принимают два вектора векторов целых чисел для умножения матриц. Я могу разобрать аргументы в один вектор, чтобы я мог вызвать apply и символ разрешенной функции. Но мне все еще нужно преобразовать аргументы из строк в соответствующий тип. Как мне этого добиться?
Пример заголовка функции:
(defn ijk [[& matrixA] [& matrixB]]
...
)
Пример входного файла: (разделение строки запятыми)
ijk,[[1 2] [3 4]],[[1 2] [3 4]]
kij,[[2 2] [3 4]],[[1 2] [3 4]]
Как я читаю файл до сих пор:
(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):
[[[1 2] [3 4]] [[1 2] [3 4]]]
[[[2 2] [3 4]] [[1 2] [3 4]]]
Мне нужно преобразовать каждую матрицу в векторе args в вектор векторов целых чисел выше. Любая и вся помощь очень ценится этим Clojure noob!