Вы можете сгенерировать количество звездочек с помощью replicate
:
ghci> replicate 5 '*'
"*****"
Вы также можете сделать это с любым другим символом, например пробелом (' '
).
Вы можете напечатать строку на экране с помощью putStrLn
:
ghci> putStrLn (replicate 5 '*')
*****
Вот программа, которая генерирует звезду выше:
main = do
putStrLn $ replicate 2 ' ' ++ replicate 1 '*'
putStrLn $ replicate 1 ' ' ++ replicate 3 '*'
putStrLn $ replicate 0 ' ' ++ replicate 5 '*'
putStrLn $ replicate 1 ' ' ++ replicate 3 '*'
putStrLn $ replicate 2 ' ' ++ replicate 1 '*'
Вы можете определить функции с помощью =
:
hello x = putStrLn $ "Hello " ++ x
main = do
hello "Bob" -- prints "Hello Bob"
(Если вы делаете это из подсказки ghci, вы должны сначала сказать let
: например, let hello x = putStrLn $ "Hello " ++ x
)
Я не знаю, почему я потратил так много времени на этот вопрос, но мне так хотелось. Обычно мы хотим, чтобы вопросы предоставили некоторые доказательства того, что вы потратили некоторое время, пытаясь решить проблему, прежде чем обращаться за помощью. Счастливого Рождества ...
Я дал вам все кусочки. Теперь вы должны собрать их вместе.