다른 파일에서 함수의 정의를 가져 오는 'load'라는 함수를 만들고 싶습니다. 모듈을 가져 오는 방법을 알고 있지만, 내 프로그램에서는이 새로운 함수로 어떤 모듈이 '로드'되었는지에 따라 함수의 정의가 변경되기를 원합니다. 이것을 할 수있는 방법이 있습니까? 필요하지 않도록 내 프로그램을 작성하는 더 좋은 방법이 있습니까?문자열을 입력으로 사용하여 모듈 가져 오기
유형 서명은 다음과 같을 것이라고 생각합니다. load :: String -> IO() 여기서 string은로드 할 모듈의 이름이고 모듈은 같은 디렉토리에 있습니다.
편집 : 모든 답장을 보내 주셔서 감사합니다. 대부분의 사람들은 이것이 내가 원하는 것을하기위한 최선의 방법이 아니라는 데 동의합니다. 대신 I/O 프로그램에서 전역 변수를 선언하는 방법이 있습니까? 즉, String-IO() 형식의 함수에 "thing"을 입력하면 GHCi에 'thing'을 입력하여 값을 할당 할 수 있기를 원합니다. 제안 사항 ?
이것이 유용 할 것이라고 생각되는 예를 들려 줄 수 있습니까? 나는 그것이 가능하지 않다는 느낌을 가지고있다. (또는 적어도 쉽다.) 그러나 나는 당신의 문제를 해결할 더 좋은 것이 있다고 확신한다. 나는 당신이 직면하고있는 실제 문제가 무엇인지 확실하지 않습니다. –
이런 일을하는 것은 ... * 가능합니다. 그러나 GHCi 나 그 밖의 것들과 같은 것을 쓰지 않는 한, 당신이 실제로 원하기는 매우 어렵습니다. –