Haskell遍历列表

nob*_*ody 4 haskell loops nested list

我知道你想在Haskell中有不同的想法,但有人可以给我一个关于如何迭代列表或嵌套列表并根据列表元素的值打印出一个字符的快速答案.

list1 = [[1 0 0][0 1 0][0 0 1]]
Run Code Online (Sandbox Code Playgroud)

通过迭代这个嵌套列表,它应该打印x为0和y为1

yxx
xyx
xxy
Run Code Online (Sandbox Code Playgroud)

谢谢

iva*_*anm 15

首先,我认为你的意思是:

list1 :: [[Int]]
list1 = [[1,0,0],[0,1,0],[0,0,1]]
Run Code Online (Sandbox Code Playgroud)

至于你想要什么:

valueOf :: Int -> Char
valueOf 0 = 'x'
valueOf 1 = 'y'
valueOf _ = 'z'

listValues :: [[Int]] -> [String]
listValues = map (map valueOf)

printValues :: [[Int]] -> IO ()
printValues = putStrLn . unlines . listValues
Run Code Online (Sandbox Code Playgroud)

然后在ghci:

*Main> printValues list1 
yxx
xyx
xxy
Run Code Online (Sandbox Code Playgroud)