비약의 문서는 명시 것을
Elixir 파일 확장자 .ex 외에도 Elixir는 스크립팅을위한 .exs 파일도 지원합니다. Elixir는 두 파일을 똑같은 방식으로 처리합니다. 유일한 차이점은 의도에 있습니다. .ex 파일은 컴파일을위한 것이며 .exs 파일은 컴파일 할 필요없이 스크립팅에 사용됩니다.
하지만 언제 어떤 파일 형식을 사용해야할지 잘 모르겠습니다. .ex 및 .exs의 단점과 목적은 무엇입니까?
답변:
.ex
컴파일 된 코드 용이고 .exs
해석 된 코드 용입니다.
예를 들어 ExUnit 테스트는 .exs
파일에 있으므로 테스트를 변경할 때마다 다시 컴파일 할 필요가 없습니다. 스크립트 나 테스트를 작성하는 경우 .exs
파일을 사용 하십시오. 그렇지 않으면 .ex
파일을 사용 하고 코드를 컴파일하십시오.
장단점에 관한 한 해석은 실행하는 데 더 오래 걸리지 만 (엘릭서가 구문 분석, 토큰 화 등을 수행해야하므로) 컴파일을 실행할 필요가 없습니다. 스크립트 실행의 유연성이 최적화 된 실행 시간보다 더 중요하다면 .exs
. 대부분의 경우 .ex
.
Elixir는 전체 .ex 파일을 컴파일합니다. .exs 파일도 컴파일되지만 호출 될 때 실행됩니다. 따라서 .exs 파일의 대부분의 사용 사례는 호출시 즉시 코드를 실행하는 것입니다. 테스트, 데이터 마이그레이션 및 스크립트 실행에 .exs 파일 사용을 고려하십시오. .ex 파일은 애플리케이션의 주요 비즈니스 로직에 사용되는 것으로 생각하십시오.
이 예를 고려하십시오
.ex 샘플
sum.ex
defmodule Sum do
add(a, b) do
a + b
end
end
$ iex sum.ex
iex> Sum.add(1,2)
3
.exs 샘플
sum.exs
defmodule Sum do
def add(a,b) do
a + b
end
end
#within same file
IO.puts "The sum of 3 + 2 is: #{inspect Sum.add(3, 2}"
$ elixir sum.exs
->> "The sum of 3 + 2 is: 5"