我知道你想在 Haskell 中有不同的想法,但是有人可以快速回答我如何迭代列表或嵌套列表并根据列表元素的值打印出一个字符。
list1 = [[1 0 0][0 1 0][0 0 1]]
通过迭代这个嵌套列表,它应该打印出 x 为 0 和 y 为 1
yxx
xyx
xxy
谢谢
最佳答案
首先,我认为你的意思是:
list1 :: [[Int]]
list1 = [[1,0,0],[0,1,0],[0,0,1]]
至于你想要什么:
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
然后在 ghci 中:
*Main> printValues list1
yxx
xyx
xxy
关于list - Haskell 遍历列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7564103/