로드 파일과로드의 차이점


17

두 기능에 대한 문서를 살펴 보았지만 많은 정보를 흘리지 않는 것 같습니다. loadload-file은 대화 형 목록 컴파일 된 함수 인 반면 C 소스 코드에는 내장 함수 라는 사실과 는 별도로 실제 차이점은 무엇입니까?

init.el둘 다 동일한 작업을 수행하는 것처럼 보이기 때문에 권장되는 기능은 무엇입니까 ?


2
이와 관련 하여 문서 의 어떤 부분 명확하지 않습니까? 실제로 문제가 있다고 생각되면 문서 문제를보고하십시오 M-x report-emacs-bug. @shosti 말하는 것처럼 문서가 명확하게 표시로하고, load-file" 사용하지 않는 load-path, 그리고 접미사를 추가하지 않습니다 "두 가지 중요한 차이.
Drew

Emacs 매뉴얼 노드 Lisp 라이브러리 도 참조하십시오 .
Drew

답변:


14

Emacs에서 Lisp 파일을로드하는 방법에는 여러 가지가 있습니다 :

  1. load-file리터럴 파일 이름 (상대적 또는 절대적)을 가져와 코드를로드합니다. 예:(load-file "/usr/local/share/site-lisp/foo.el")
  2. load이다처럼 load-file, 더 유연 점을 제외하고 - 당신이 확장자를 생략 할 수 있으며 자동으로 적절하게 "ELC"또는 "엘"파일을로드합니다.
    또한 load-path디렉토리를 살펴 봅니다 .
    예 : (load "foo")( "foo.el"이 현재 디렉토리 또는로드 경로에있는 경우 ").
  3. load-library에 대한 대화식 인터페이스입니다 load.
  4. requireload파일이 두 번 이상로드되는 것을 방지한다는 점을 제외하면 ( 와 비슷합니다 provide. 문제의 파일 끝에 해당 명령문이 필요합니다 ). 예:(require 'foo)

3
귀하의 require예는 load예입니다. ;-)
Drew

load-file예는을 사용합니다 load. :)
itsjeyd

2
2와 3이 잘못되었다 니 유감입니다. :-) load 로드 경로를 찾습니다.
Malabarba

@Malabarba 죄송합니다. 정정 해 주셔서 감사합니다. 생각보다 혼란 스러워요.
shosti

8

load-file하고 load-library있는 명령 (주요 차이점은 프롬프트의 초기 내용에) 대화 형 사용은.

loadElisp를 작성할 때 사용할 기본 함수입니다 (예 : .emacs).

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.