如何遍历我的字符串列表

时间:2016-01-28 16:48:01

标签: haskell

我有一些严重的问题需要完成大学项目,而且我不知道如何使用haskell。

我需要解析一个FEN-String,以便我可以使用。

import Data.Char
import Data.List.Split

startFEN = "rnbkqbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBKQBNR"


splitFENString :: String -> [String]
splitFENString = splitOn "/" 


workONstring :: [String] -> [String]
workONstring = let e = splitFENString in
                map (nvcls) 


nvcls :: [Char] -> [Char]
nvcls [] = []
nvcls ('1':xs) = nvcls ('0':xs)
nvcls ('2':xs) = nvcls ('0':'0':xs)
nvcls ('3':xs) = nvcls ('0':'0':'0':xs)
nvcls ('4':xs) = nvcls ('0':'0':'0':'0':xs)
nvcls ('5':xs) = nvcls ('0':'0':'0':'0':'0':xs)
nvcls ('6':xs) = nvcls ('0':'0':'0':'0':'0':'0':xs)
nvcls ('7':xs) = nvcls ('0':'0':'0':'0':'0':'0':'0':xs)
nvcls ('8':xs) = nvcls ('0':'0':'0':'0':'0':'0':'0':'0':xs)
nvcls (x:xs) = x : nvcls xs

我想在列表中的每个字符串上使用nvcls,但我不知道如何满足编译器......

1 个答案:

答案 0 :(得分:4)

尝试像这样更改workONstring函数

workONstring :: String -> [String]
workONstring = map nvcls . splitFENString

然后你可以调用startFEN

workONstring startFEN