범위를 Elixir의 Enum.filter
으로 전달할 수 있습니까? 예 :엘 릭셔에서 Enum.filter 범위를 전달하는 방법은 무엇입니까?
이
[1,2,3,4,5] |> Enum.filter(&rem(&1,2)==0) #=> [2,4]
작동하지만 내가 필터링 통과하고 싶은 범위를 포함하는 목록을
[1..10] |> Enum.filter(&rem(&1,2)==0) #=> bad argument in arithmetic...
하지 않습니다. 예 :
[1..10, 2, 3]
아, 그건 의미가 있습니다. 그런데 범위 요소가있는 필터를 목록에 전달하려면 어떻게해야합니까? 예 : 위 목록과 같이 필터링하고자하는리스트는'list = [1..10, 2, 3]'입니다. – Bala
'Enum.to_list (1..10) ++ [2, 3]'을 사용하여 이것을 flat list로 변환하여 전달하거나'Enum.flat_map'으로 전환하고'Enum.filter'를 실행하면됩니다. 항목이 범위라면 그렇지 않으면 항목이 숫자 인 경우'[]'또는'[x]'를 반환합니다. – Dogbert
두 번째 방법의 구현을 추가했습니다. – Dogbert