Как я могу запустить инструкцию GHCi в cabal v2-repl прямо из командной строки? - PullRequest
1 голос
/ 29 октября 2019

Как мне скопировать ghci -e "print 123" в cabal v2-repl?

Я искал "выражение" или "утверждение" в cabal v2-repl --help, но безуспешно.

1 Ответ

0 голосов
/ 29 октября 2019

Самый простой способ - использовать возможности трубопровода оболочки. См .:

% cabal v2-repl <<< ':type zip'
...
λ zip :: [a] -> [b] -> [(a, b)]
λ Leaving GHCi.

Эта нотация <<< в интерпретаторе сценариев sh означает, что строка в кавычках отправляется на стандартный ввод команды, затем следует новая строка, а затем конец файла.

Есть и другие способы. Например, если вы хотите указать больше строк, вы можете использовать так называемый "here-doc" :

% cabal repl <<EOF
:type zip
:type fst
EOF

Запись <<< является сокращением для одного-line "here-doc".

Как правило, программа может знать, является ли ее стандартный ввод терминалом (предполагается, что пользователь в реальном времени) или файл (который heredoc притворяется) 1020 * и ведут себя по-другому. Но обычно это работает в любом случае, и, если вы можете отправлять вещи на стандартный ввод, вы можете автоматизировать их.

...