Интересно, какой вариант вы бы выбрали?
putStrLn (show randomNum)
putStrLn $ show randomNum
(putStrLn . show) randomNum
Все варианты являются синтаксически правильными.
Кронштейны убедитесь, что
show
выполняется первым иputStrLn
получает только один аргумент.$
оператор принимает функцию шоу иrandomNum
и выполняетshow
наrandomNum
, такputStrLn
получает только один аргумент.Оператор
.
принимает функциюputStrLn
, функциюshow
иrandomNum
и выполняет первыйshow
наrandomNum
, а затемputStrLn
на результат.
Но что было бы более похоже на haskell или иметь больше смысла в этом примере?
Я думаю, что это касается личного выбора. Я предпочитаю писать 'f $ g x'. Но с большим количеством функций я также пишу 'f. г . h $ x', перемещая '$' вправо. Я мог бы использовать 'f. g $ x', если find 'f. «значимый». Я знаю, что я не на 100% согласен в своем собственном стиле. – chi
Определенно стилистический выбор. Выберите один и примените его последовательно. – MathematicalOrchid
Это не очень подходящий вопрос для StackOverflow - все они одинаково похожи на Haskell. Правильного ответа нет. – ocharles