Ответ 1
Попробуйте что-то вроде:
box = unlines $ ["0 | 1 | 2",
"---------",
"3 | 4 | 5",
"---------",
"6 | 7 | 8"]
Затем выведите поле с помощью putStr
:
main = putStr box
Что unlines
делает, это взять список строк и объединить их вместе с использованием строк новой строки. Он в основном рассматривает список строк как список строк и превращает их в одну строку.
putStr
просто печатает строку в STDOUT. Если вы использовали print
или GHCi для просмотра строки вместо этого, символы новой строки будут отображаться как \n
, а не фактические символы новой строки. Это происходит потому, что экземпляр show
String
предназначен для сериализации строки, как вы бы ее ввели, а не для ее печати. Оба print
и GHCi используют show
перед выходом в STDOUT.
Если вы находитесь в приглашении GHCi и хотите увидеть, как выглядит строка, вы можете напрямую использовать putStr
:
*Main> putStr box
0 | 1 | 2
---------
3 | 4 | 5
---------
6 | 7 | 8
*Main>