Czy możliwe jest użycie ekwiwalentu "importuj kwalifikowany" w GHCI z naszym modułem WŁASNYM? Coś takiego jak :m + qualified Data.List
, co oczywiście nie działa.import zakwalifikowany w GHCI
Dzięki.
Czy możliwe jest użycie ekwiwalentu "importuj kwalifikowany" w GHCI z naszym modułem WŁASNYM? Coś takiego jak :m + qualified Data.List
, co oczywiście nie działa.import zakwalifikowany w GHCI
Dzięki.
Po prostu wpisz import qualified Data.Text
lub import qualified Data.Text as T
wewnątrz ghci, tak jak w swoim kodzie.
nie wiem pretty, aby zrobić to, co chcesz, ale można udawać coś takiego:
:load My/Module.hs
aby załadować moduł.:module - My.Module
, aby wyjść poza zakres.import qualified My.Module as MM
, aby dostosować go do zakresu.Każdy moduł, o którym wie GHCi, jest automatycznie dostępny w pełni kwalifikowany, więc po kroku 2, My.Module.value
będzie działał poprawnie. Krok 3 jest konieczny tylko wtedy, gdy chcesz użyć krótszego prefiksu.
Jeśli chcesz załadować wiele plików naraz, :load
może to zrobić;
:load My/Module1.hs My/Module2.hs ... My/ModuleN.hs
będzie działać poprawnie. Wprowadzi Cię w zakres *My.Module1
, a następnie My.Module2
... My.ModuleN
będą dostępne w pełni kwalifikowane, jak wspomniano powyżej.
Aby uzyskać więcej informacji o GHCi, zawsze możesz sprawdzić the GHC User's Guide, Ch. 2: "Using GHCi"; szczególnie istotne sekcje to §2.2, "Loading source files" i §2.4.5, "What's really in scope at the prompt?".
Należy pamiętać, że dodano to w GHC 7.0. – shachaf
Bardzo mi przykro, miałem na myśli mój WŁASNY moduł. – vildric
@vildric Co sprawia, że uważasz, że Twój własny moduł jest inny niż moduł innej osoby? Po prostu "importuj kwalifikowane My.Own.Modules jako MOM", zakładając, że jest zainstalowany pakiet z modułem 'My.Own.Module' lub moduł jest w zasięgu za pomocą innych środków. –