Есть ли в Haskell команда, которая отображает (или получает в виде списка) все пользовательские функции, которые были загружены/определены в GHCi? Спасибо
Haskell: отображение/получение списка всех пользовательских функций
Ответы (2)
Чтобы увидеть привязки, которые вы сделали в приглашении ghci (например, с помощью let
или <-
), попробуйте :show bindings
.
Если вы загрузили несколько модулей, вы можете использовать :show modules
, чтобы получить имена загруженных модулей, а затем :browse ModuleName
, чтобы перечислить все, что входит в область действия этого модуля.
person
Ben Millwood
schedule
23.04.2012
Привет, я пробовал это, но это не сработало для меня. Я использую WinGHCi и загрузил функции с помощью функции «: load», как описано в сообщении Haskell: загрузка ВСЕХ файлов в текущем пути к каталогу. Однако, когда я пытаюсь «: показать привязки», он просто говорит «it :: Int = 7», потому что я вызывал «addNumber2 3 4» последним. Спасибо
- person artella; 24.04.2012
Я редактировал в инструкции, что вы делаете, если есть модули.
- person Ben Millwood; 24.04.2012
Привет, :browse требует знания того, какой модуль был загружен. Есть ли способ сделать это, не требуя знания того, какие модули были загружены? (см. также комментарий ниже). Спасибо.
- person artella; 24.04.2012
Я так не думаю, если вы не можете проанализировать вывод
:show modules
.
- person Ben Millwood; 24.04.2012
В ghci используйте :browse
или просто :bro
после загрузки файла. Вы также можете просмотреть незагруженные модули через :browse Foo.Bar.Baz
.
person
Daniel Wagner
schedule
22.04.2012
:br
теперь преобразуется в :break
, для просмотра вам понадобится :bro
.
- person Daniel Fischer; 23.04.2012
@DanielFischer Спасибо, исправлено.
- person Daniel Wagner; 23.04.2012
:dawg
должно быть синонимом ghci для :bro
- person Dan Burton; 23.04.2012
Привет, я пробовал это, но в WinGHCi ':browse' ничего не делает! Я загрузил файлы, как указано в сообщении Haskell: загрузка ВСЕХ файлов в текущем путь к каталогу
- person artella; 24.04.2012
Вы пробовали
:browse ModuleName
?
- person Ben Millwood; 24.04.2012
Ах, я не понял, что вы должны указать имя модуля. Но предположим, что у меня есть скрипты для загрузки разных модулей. Тогда есть ли способ увидеть все функции, которые были загружены из различных модулей, не требуя знания того, какие модули были загружены? Спасибо
- person artella; 24.04.2012
@artella В ghci
:browse
без аргументов показывает привязки, определенные в загруженных в данный момент модулях. Возможно, вам стоит перейти от объятий. знак равно
- person Daniel Wagner; 24.04.2012