는 방법의 이러한 종류를 단축 할 수있는 방법이 호출인가 산술 연산자 "==", 구조 필드 이름 name
및 값 :pending
을 인수로 전달하십시오.함수에 인수를 전달하고 통해 호출 "&"
0
A
답변
3
당신은이에 대한 partial application syntax를 사용할 수 있습니다
aaa = Enum.find(Statuses, &(&1.name == :pending))
또는
또한iex(1)> f = &(&1.name == :pending)
#Function<6.52032458/1 in :erl_eval.expr/5>
iex(2)> f.(%{name: :pending})
true
iex(3)> f.(%{name: :complete})
false
0
aaa = Enum.find(Statuses, & &1.name == :pending)
는 Dogbert에 의한 대답은 완벽, 평소와 같이, 나도 여기에 광산을 둘 것 포맷팅을 위해서.
이것은 Elixir이 잘못된 방식으로 일을하지 못하게하는 완벽한 예입니다. 그러한 방법이 이 아니고이면 쉽게 접근 할 수 있습니다.
name
의 값이 :pending
인 구조체를 찾고 있습니다. Kernel.match?/2
매크로, 명시 적으로 작업을 수행 :
iex> [%{n: 1, name: :pending}, %{n: 2, name: :complete}]
|> Enum.find(&match?(%{name: :pending}, &1))
%{n: 1, name: :pending}
견적 문서에서 : 열거 가능한에 값을 찾는 필터링 할 때
match?/2
매우 유용합니다list = [{:a, 1}, {:b, 2}, {:a, 3}] Enum.filter list, &match?({:a, _}, &1) #⇒ [{:a, 1}, {:a, 3}]
관련 문제
- 1. 인수를 전달하고 함수에 적용하는 방법은 무엇입니까?
- 2. 인수를 함수로 전달하고 다른 인수를 삽입하십시오.
- 3. 커맨드 라인을 통해 파이썬 인수를 전달하고 싶습니다.
- 4. 구조체를 함수에 전달하고 그 구조체를 통해 루프합니다.
- 5. 인수를 함수에 넘김 - php
- 6. 인수를 인수로 전달하고 기본 인수를 설정하십시오.
- 7. 이벤트 핸들러 함수에 인수를 전달하고 'this'참조를 사용하는 방법은 무엇입니까?
- 8. 피팅 함수에 인수를 전달합니다.
- 9. 인수를 통해 반환하는 함수에 대한 typemap을 만듭니다.
- 10. 인수를 전달하고 루아 프로그램에 인수를 읽는 방법?
- 11. 함수에 인수를 전달하는 방법
- 12. 다른 함수에 인수를 취하고
- 13. 함수에 추가 인수를 R
- 14. 함수에 인수를 전달하는 데 도움이
- 15. ./configure에서 인수를 전달하고 사용하는 방법?
- 16. String을 함수에 전달하고 Firebase를 참조하여 문자열을 호출 할 수 있습니까?
- 17. NSString 변수를 함수에 전달하고 수정하십시오
- 18. 인수를 전달하고 (resque-status) Resque :: JobWithStatus에있는 인수를 사용하는 방법?
- 19. 배치에서 함수에 인수를 넘김
- 20. "type"인수를 함수에 전달
- 21. 인수를 다음 함수에 전달하는 함수
- 22. Matlab에서 함수에 인수를 전달할 때 varargin을 사용합니까?
- 23. 클래스 함수에 linc를 전달하고 호출하는 방법은 무엇입니까?
- 24. 배열을 void 함수에 전달하고 반복적으로 요소를 인쇄하십시오.
- 25. Tkinter의 Button을 통해 함수에 인수를 넘기고 루프의 starnge 동작
- 26. Python의 함수에 기본 인수를 전달합니다.
- 27. Mock의 autospec이 호출 된 함수에 잘못된 인수를 삽입합니다.
- 28. 가변 숫자 인수를 갖는 함수에 대한 포인터 맵에서 함수 호출
- 29. 자체 호출 된 비동기 함수에 인수를 삽입하는 방법은 무엇입니까?
- 30. Python gevent : pool.map을 통해 호출 된 함수에 여러 인수 전달
유감 스럽지만 다음과 같이 잘못되었습니다 :'[% {n : 1, 이름 : : 완료}, % {n : 2, 이름 : : p % {n : 1, 이름 : : 완료}'. (MatchError) 오른쪽 열의 값과 일치하지 않습니다. – Dogbert
@Dogbert 실제로, 그러나 이것은 나에게 어리석은 보입니다. 어쩌면 작동 할 것입니다. (아마도 정확한 방법은 아니지만 다른'Enum.select/2' 또는 이와 유사한 메소드를 사용하십시오.)이 응답을 제거하고 대신 기능 요청을 fullfil합니다. – mudasobwa