我有一个map.txt文件,我想将其添加到Clojure的2D数组中。
文件格式如下:
---#--###----
-#---#----##-
####-#-#-#-##
---#---#-#---
-#-####---##-
-#------#----
-############
------------@
我想使用x和y坐标访问向量的每个元素,因为这是我的寻宝游戏任务。
(defn read-in-board [filepath]
clojure.string/split-lines (slurp filepath)
(mapv vec (read-in-board "map.txt"))
运行此命令后,我没有任何输出。
答案 0 :(得分:0)
这是我要怎么做:
给出通过以下方式创建的map.txt:
(spit
"map.txt" "---#--###----\n-#---#----##-\n####-#-#-#-##\n---#---#-#---\n-#-####---##-\n-#------#----\n-############\n------------@")
您可以像这样将文本文件读入矢量(二维数组排序)矢量:
(->> "map.txt" slurp str/split-lines (map #(mapv str %)))
;; =>
;; [["-" "-" "-" "#" "-" "-" "#" "#" "#" "-" "-" "-" "-"]
;; ["-" "#" "-" "-" "-" "#" "-" "-" "-" "-" "#" "#" "-"]
;; ["#" "#" "#" "#" "-" "#" "-" "#" "-" "#" "-" "#" "#"]
;; ["-" "-" "-" "#" "-" "-" "-" "#" "-" "#" "-" "-" "-"]
;; ["-" "#" "-" "#" "#" "#" "#" "-" "-" "-" "#" "#" "-"]
;; ["-" "#" "-" "-" "-" "-" "-" "-" "#" "-" "-" "-" "-"]
;; ["-" "#" "#" "#" "#" "#" "#" "#" "#" "#" "#" "#" "#"]
;; ["-" "-" "-" "-" "-" "-" "-" "-" "-" "-" "-" "-" "@"]]
看起来正确吗?