[英]Haskell 2D character array
我有与Haskell语言相关的问题。我需要将一堆字符存储在2D数组中。如何存储它?我在文本文件中有10 X 10格式的字符,我想将其存储在Haskell语言的2D字符数组中。请尽快帮助我..谢谢
这是我尝试的代码,在此代码中,我试图将x的值存储在名为listofchar的列表中:
module TreasureFile where
import System.IO
main = do
hdl <- openFile "map.txt" ReadMode
readbychar hdl
readbychar hdl = do
t <- hIsEOF hdl
if t
then return()
else do
let listofchar=[]
x <- hGetChar hdl
if x =='\n'
then putChar '!'--return()
else listofchar x
readbychar hdl
尝试这个:
import System.IO
main = do
textContents <- readFile "map.txt"
let map = format textContents
print $ map
format text = lines text
让我们逐步完成该程序:
首先, readFile
读取文件并将内容绑定到textContents
。
接下来,我们每次遇到换行符分隔符时都会通过拆分列表来格式化内容,然后删除最终剩余的空字符串。
做完了! 现在,我们可以使用“地图”做任何我们想做的事情。
侧面有一个小音符:
我们的地图将像这样显示似乎很奇怪:
["aaaaaaaaaa","bbbbbbbbbbb",..] -- doesn't look like 2D map
这只是用于:
[['a','a','a',..],['b','b','b',..],..] -- looks more like a map now
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.