나는 Practical Common Lisp을 다룰 예정이다. 거의 끝났고, 아직까지 대답하지 못했던 질문은 "require"와 "load"의 차이다.공통 리스프에서 require와 load의 차이점은 무엇입니까?
그래서 차이점은 무엇입니까?
감사합니다.
나는 Practical Common Lisp을 다룰 예정이다. 거의 끝났고, 아직까지 대답하지 못했던 질문은 "require"와 "load"의 차이다.공통 리스프에서 require와 load의 차이점은 무엇입니까?
그래서 차이점은 무엇입니까?
감사합니다.
require
은 각각 하나 이상의 파일로 구성 될 수 있습니다.
load
은 임의의 단일 파일을로드하는 데 사용됩니다. 모듈이 이미 존재하는지 여부
require
기능 검사 (a 대소 문자 비교를 사용); 모듈이 없으면 에 적절한 파일 또는 파일 집합을로드해야합니다. 경로 이름 인수가있는 경우 경로명 또는 파일이 순서대로로드되는 경로 이름 목록 인 경우 이 오른쪽에 있습니다. pathname 인수가 이 아니거나 제공되지 않으면 시스템 은 로드 할 시스템에 따라 시스템 종속 방식으로 결정하려고 시도합니다. 여기에는 일반적으로 모듈 이름 의 일부 중앙 레지스트리와 관련 파일 목록이 포함됩니다.
자료 : http://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node119.html
load
기능은 리스프 환경에 파일 이름에 의해 명명 된 파일을로드합니다. 은 파일의 텍스트 ( 파일)가 자동으로 개체 (이진 파일) 과 적절한 것으로 구분 될 수 있다고 가정합니다.이 파일은 구현에 따라 적절하게는 파일 유형에 따라 이 될 수 있습니다. filename의 기본값은 변수 default-pathname-defaults에서 가져옵니다. 병합 후 파일 이름이 명시 적으로 유형을 지정하지 않고 파일의 텍스트 유형과 객체 유형 모두가 파일에서 사용 가능한 경우로드하려면 에 의해 더 적합한 파일을 선택해야합니다. 일부 구현 - 의존 수단.
출처 : http://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node217.html
CLTL은 CL의 기본 참조가 아닙니다. HyperSpec이 더 좋습니다. 적절한 장소에 대한 짧은 링크는 http://l1sp.org/cl/load 또는 http://l1sp.org/cl/require를 참조하십시오. – Xach
의 차이는 아직로드되지 않은 경우 (require)
모듈을로드이다; (load)
파일을로드합니다.
이 질문을 읽고 답변을 얻은 분에게 : _ **는 필수 항목이며 ** 전체 모듈 시스템 **은 ANSI 표준화 이후 Common Lisp에서 더 이상 사용되지 않습니다 **! – hijarian