수색…


통사론

  • map = % {} // 빈지도를 만듭니다.
  • map = % {: a => 1, : b => 2} // 비어 있지 않은지도를 만듭니다.
  • list = [] // 빈리스트를 만든다.
  • list = [{: a, 1}, {: b, 2}] // 비어 있지 않은 키워드 목록을 만듭니다.

비고

지도와 키워드 목록 : 엘릭서는 두 개의 연관 데이터 구조를 제공합니다.

지도 는 엘 릭셔 키 - 값 (다른 언어의 사전 또는 해시라고도 함) 유형입니다.

키워드 목록 은 값을 특정 키와 연관시키는 키 / 값의 튜플입니다. 일반적으로 함수 호출의 옵션으로 사용됩니다.

지도 만들기

지도는 엘 릭셔 키 - 값 (다른 언어의 사전 또는 해시라고도 함) 유형입니다. %w{} 구문을 사용하여지도를 만듭니다.

%{} // creates an empty map
%{:a => 1, :b => 2} // creates a non-empty map

키와 값은 모든 유형을 사용할 수 있습니다.

%{"a" => 1, "b" => 2}
%{1 => "a", 2 => "b"}

또한 키와 값 모두에 대해 혼합 된 유형의지도를 가질 수 있습니다. "

// keys are integer or strings
%{1 => "a", "b" => :foo}
// values are string or nil
%{1 => "a", 2 => nil}

지도의 모든 키가 원자인 경우 편의를 위해 키워드 구문을 사용할 수 있습니다.

%{a: 1, b: 2}

키워드 목록 만들기

키워드 목록은 일반적으로 함수 호출의 옵션으로 사용되는 키 / 값의 튜플입니다.

[{:a, 1}, {:b, 2}] // creates a non-empty keyword list

키워드 목록에는 동일한 키가 두 번 이상 반복 될 수 있습니다.

[{:a, 1}, {:a, 2}, {:b, 2}]
[{:a, 1}, {:b, 2}, {:a, 2}]

키와 값은 모든 유형이 될 수 있습니다.

[{"a", 1}, {:a, 2}, {2, "b"}]

지도와 키워드 목록의 차이점

지도와 키워드 목록에는 다른 애플리케이션이 있습니다. 예를 들어지도에는 동일한 값을 갖는 두 개의 키가있을 수없고 순서가 지정되지 않습니다. 반대로 키워드 목록은 패턴 일치에서 사용하기가 다소 어려울 수 있습니다.

다음은지도와 키워드 목록의 몇 가지 유스 케이스입니다.

다음과 같은 경우 키워드 목록 사용 :

  • 주문할 요소가 필요합니다.
  • 동일한 키를 가진 둘 이상의 요소가 필요하다.

다음과 같은 경우에지도를 사용하십시오.

  • 일부 키 / 값에 대해 패턴 일치를 원한다.
  • 동일한 키를 가진 요소가 두 개 이상 필요하지 않습니다.
  • 명시 적으로 키워드 목록이 필요하지 않을 때마다


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow