20 lines
594 B
Haskell
20 lines
594 B
Haskell
|
|
import Data.Array (Array, listArray, Ix, (!))
|
|||
|
|
|
|||
|
|
triples :: Array Int (Char, String, String)
|
|||
|
|
triples =
|
|||
|
|
listArray (0, 11) $
|
|||
|
|
zip3
|
|||
|
|
"鼠牛虎兔龍蛇馬羊猴鸡狗豬" -- 生肖 shengxiao – symbolic animals
|
|||
|
|
(words "shǔ niú hǔ tù lóng shé mǎ yáng hóu jī gǒu zhū")
|
|||
|
|
(words "rat ox tiger rabbit dragon snake horse goat monkey rooster dog pig")
|
|||
|
|
|
|||
|
|
indexedItem
|
|||
|
|
:: Ix i
|
|||
|
|
=> Array i (Char, String, String) -> i -> String
|
|||
|
|
indexedItem a n =
|
|||
|
|
let (c, w, w1) = a ! n
|
|||
|
|
in c : unwords ["\t", w, w1]
|
|||
|
|
|
|||
|
|
main :: IO ()
|
|||
|
|
main = (putStrLn . unlines) $ indexedItem triples <$> [2, 4, 6]
|