list - Haskell 遍历列表

标签 list haskell nested loops

我知道你想在 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/

相关文章:

java - 嵌套的 POJO 列表流到另一个 POJO 列表

c# - 属性网格中的列表扩展器,带有通用 ICustomTypeDescriptor

algorithm - 在 OCaml 中使用给定列表和运算符计算最高值

haskell - Haskell如何进行后期评估?

javascript - 如何过滤深层嵌套数据? - JavaScript JSON

Java 嵌套 ifs

python - 如何过滤具有给定键匹配值的字典列表

haskell - cabal 依赖版本约束应该有多宽或多窄?

haskell - bool 值和 STLC 的 Church 编码

android - 从 Preference fragment 中打开 fragment ;从 Android 上的嵌套首选项屏幕更改操作栏布局