Elixir Language
모듈
수색…
비고
모듈 이름
Elixir에서 IO
나 String
과 같은 모듈 이름은 단지 후드 아래의 원자 일 :"Elixir.ModuleName"
컴파일시 :"Elixir.ModuleName"
형식으로 변환됩니다.
iex(1)> is_atom(IO)
true
iex(2)> IO == :"Elixir.IO"
true
모듈의 함수 또는 매크로 나열
__info__/1
함수는 다음 아톰 중 하나를 취합니다.
-
:functions
- 공공 기능의 키워드 목록을 해당 속성과 함께 반환합니다. -
:macros
- 공용 매크로의 키워드 목록을 해당 속성과 함께 반환합니다.
Kernel
모듈의 기능을 나열하려면 다음을 수행하십시오.
iex> Kernel.__info__ :functions
[!=: 2, !==: 2, *: 2, +: 1, +: 2, ++: 2, -: 1, -: 2, --: 2, /: 2, <: 2, <=: 2,
==: 2, ===: 2, =~: 2, >: 2, >=: 2, abs: 1, apply: 2, apply: 3, binary_part: 3,
bit_size: 1, byte_size: 1, div: 2, elem: 2, exit: 1, function_exported?: 3,
get_and_update_in: 3, get_in: 2, hd: 1, inspect: 1, inspect: 2, is_atom: 1,
is_binary: 1, is_bitstring: 1, is_boolean: 1, is_float: 1, is_function: 1,
is_function: 2, is_integer: 1, is_list: 1, is_map: 1, is_number: 1, is_pid: 1,
is_port: 1, is_reference: 1, is_tuple: 1, length: 1, macro_exported?: 3,
make_ref: 0, ...]
Kernel
을 원하는 모듈로 교체하십시오.
모듈 사용하기
모듈에는 alias
, import
, use
및 require
와 같은 다른 모듈에서 사용하기위한 4 개의 관련 키워드 require
있습니다.
alias
은 모듈을 다른 이름 (일반적으로 더 짧은 이름)으로 등록합니다.
defmodule MyModule do
# Will make this module available as `CoolFunctions`
alias MyOtherModule.CoolFunctions
# Or you can specify the name to use
alias MyOtherModule.CoolFunctions, as: CoolFuncs
end
import
는 모듈의 모든 함수를 앞에 이름없이 사용할 수있게합니다 :
defmodule MyModule do
import Enum
def do_things(some_list) do
# No need for the `Enum.` prefix
join(some_list, " ")
end
end
use
사용하면 모듈이 현재 모듈에 코드를 삽입 할 수 있습니다. 이는 일반적으로 모듈이 일부 동작을 확인하도록 자체 함수를 만드는 프레임 워크의 일부로 수행됩니다.
사용할 수 있도록 모듈에서로드 매크로가 require
합니다.
다른 모듈로 함수 위임
defdelegate
를 사용하여 다른 모듈에 정의 된 동일한 이름의 함수에 위임하는 함수를 정의합니다.
defmodule Math do
defdelegate pi, to: :math
end
iex> Math.pi
3.141592653589793
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow