Создай и запусти, начинается с функции в прелюдии

Как я могу определить, запустить эту функцию в прелюдии,

let beginsWithU (c:_) = c == 'u' || c == 'U'
   beginsWithU _ = False

Строка № 2, дает parse error on input ‘=’, Я не могу использовать let снова, так как он переопределит шаблон в строке 1.

2 ответа

Решение

Я думаю, что вы хотите запустить его внутри GHCI. Вы можете использовать многострочный ввод для этого, команды :{ чтобы начать это и :} чтобы закончить это.

Вот пример

Prelude> :{
Prelude| let beginsWithU (c:_) = c == 'u' || c == 'U'
Prelude|     beginsWithU _ = False
Prelude| :}
Prelude> beginsWithU "umbrella"
True
Prelude> beginsWithU "mbrella"
False

Как я могу определить, запустить эту функцию в прелюдии

Вы не можете определить и запустить функцию в прелюдии. Prelude - это стандартный модуль, который поставляется вместе с базовым пакетом, который поставляется с ghc.

Предполагая, что вы хотите определить и запустить код в ghciВот что вам нужно сделать:

λ> let beginsWithU (c:_) = c == 'u' || c == 'U'; beginsWithU _ = False
λ> beginsWithU "UHello"
True
Другие вопросы по тегам