从Int到特定字符串的列表

use*_*839 1 string haskell list map

我会怎么做,如果我希望把名单IntS,从而为[1,2,3]["?","?","?"](所以如果有一个"1",把它变成了"∧"等...)

Dan*_*ons 8

我可能会分两步完成:

conv :: Int -> String
conv 1 = "?"
conv 2 = "?"
conv 3 = "?"
Run Code Online (Sandbox Code Playgroud)

然后只是映射:

change :: [Int] -> [String]
change = map conv

change [1,2,3] -- returns ["?","?","?"]
Run Code Online (Sandbox Code Playgroud)

你甚至可以嵌入:

change = map conv
  where
    conv 1 = "?"
    ...
Run Code Online (Sandbox Code Playgroud)