Как я могу вставить backtick в GHCi?
Я пробую Haskell в GHCi на Windows. В учебнике, который я следую, имя функции заключено в backticks:x `mod` 7
. Однако я не могу ввести персонажа в GHCi.
символ backtick имеет значение ASCII 096, но GHCI не позволяет Alt + для вставки любого символа. Копирование/вставка не работает. Что мне делать?
2 ответов
Я не знаю, как отправить backtick в ghci, если у вашей клавиатуры его нет. Но эта небольшая техническая проблема не должна помешать вам попробовать Haskell!
вы можете программировать в Haskell без backticks с помощью
f a b
вместоa `f` b
. В вашем примере,mod x 7
.вы можете установить раскладку клавиатуры в us-american для программирования. Хотя требуется некоторая практика, чтобы найти ключи с неправильными метками на физическом клавиатура, это может быть удобно иметь
[
,]
,{
и}
более доступный, и в вашем случае, имейте backtick на всех.вы можете вставить backtick из буфера обмена. (Активируйте "режим быстрого редактирования" и "режим вставки" в настройках командного окна, а затем используйте правую кнопку мыши для вставки).
может быть, использование обертки вокруг окна команды помогает? Я иногда использую Console2 и иногда
M-x shell
in В Emacs.может быть, WinGHCi помогает? Он поддерживает копирование и вставку, по крайней мере.
см. ответ Эрьяна Йохансена о том, как добавить пользовательскую привязку ключей к ghci.
удачи с Haskell!
@Toxaris дал несколько предложений в своем ответе, но в комментарии он также упомянул о возможности настройки версии ghci readline (которая называется haskeline
). И, конечно, это позволяет пользовательские комбинации клавиш. Поэтому я решил проверить это.
в документации говорится, чтобы поместить настройки в ~/.haskeline
, который не является путем Windows, но он предположительно переводится в .haskeline
в любой каталог System.Directory.getHomeDirectory
возвращает. (vim
также может отредактируйте этот путь непосредственно в Windows, но я понял это только потом.) Поэтому я поставил следующее в C:\Users\Ørjan\.haskeline
:
bind: meta-' `
теперь я могу сделать `
в GHCi, нажав alt-'
!