2013-06-23 3 views
8

GHCI의 OWN 모듈에서 "가져 오기 한정어"와 동일한 기능을 사용할 수 있습니까? 물론 :m + qualified Data.List과 같은 것은 작동하지 않습니다.GHCI에서 가져 오기 가져 오기

감사합니다.

답변

22

코드 내부에서와 마찬가지로 ghci에 import qualified Data.Text 또는 import qualified Data.Text as T을 입력하기 만하면됩니다.

+5

GHC 7.0에 추가되었습니다. – shachaf

+0

흠 죄송합니다, 나는 자신의 모듈을 의미했습니다. – vildric

+2

@vildric 자신의 모듈이 다른 사람의 모듈과 다른 점이 있다면? 'My.Own.Module을 MOM으로 가져 오기 ','My.Own.Module' 모듈을 포함한 패키지가 설치되어 있거나 다른 방법으로 모듈이 범위 내에 있다고 가정합니다. –

15

나는 당신이 원하는 것을 할 수있는 꽤 방법을 알고하지 않습니다,하지만 당신은 이런 일에 가짜 수 :

  1. 첫째, 당신의 모듈을로드 :load My/Module.hs를 사용합니다.
  2. :module - My.Module을 사용하여 범위를 벗어나십시오.
  3. (선택 사항) import qualified My.Module as MM을 사용하여 정규화 된 범위로 가져 오십시오.

GHCi가 알고있는 모든 모듈은 자동으로 정규화되어 있으므로 2 단계 후에 My.Module.value이 정상적으로 작동합니다. 3 단계는 짧은 접두사를 사용하려는 경우에만 필요합니다.

여러 파일을 동시에로드하려면 :load도 가능합니다.

:load My/Module1.hs My/Module2.hs ... My/ModuleN.hs 

잘 작동합니다. 그것은 *My.Module1의 범위에 넣을 것이고, 그 다음에 My.Module2 ... My.ModuleN은 위에서 언급 한 것처럼 모두 유효합니다.

GHCi에 대한 자세한 내용은 항상 the GHC User's Guide, Ch. 2: "Using GHCi"을 확인하십시오. 특히 관련 섹션은 §2.2, "Loading source files"§2.4.5, "What's really in scope at the prompt?"입니다.