我使用string类型列表创建了一个图像。所以他们看起来像这样
pic 1 =
["xxxx",
"x ",
"xxx ",
"x ",
"xxxx"]
所以我试图创造一个90度旋转(顺时针)。这是我到目前为止的代码,它似乎工作太高,但不适合所有图像。
rotateLine90 :: Pic -> Int -> [Char]
rotateLine90 pic n = reverse [line!!n | line<-pic]
rotate90 :: Pic -> Pic
rotate90 pic = [rotateLine90 pic i | i<-[0 .. (length pic) - 1]]
有关如何改进代码的任何想法。
答案 0 :(得分:2)
这有效
> rotate90 ["XXXX", "X ", "XXX ", "X ", "XXXX"]
["XXXXX","X X X","X X X","X X"]
用法:
{{1}}