{-# LANGUAGE ParallelListComp #-}
import Data.List
-- функция двух аргументов, пример
f a b = a + b
as = [1, 2, 3]
bs = [4, 5, 6]
-- res = zipWith f as bs
showAll f as bs = [showLine a b (f a b) | a <- as | b <-bs]
where showLine a b res = intercalate " " $ map show [a, b, res]
main = mapM_ print $ showAll f as bs
-- *Main> main
-- "1 4 5"
-- "2 5 7"
-- "3 6 9"
您需要形成要打印的字符串列表,然后按照此处所述进行操作:将 print 映射到列表,或使用 unline。
像这样的东西:
该函数
putStr
(不带后缀Ln
)最后不输出字符\n
。应用它。