캐릭터에 문자열을 분할하고 결과로 나타나는 모든 항목을 다듬 으려고합니다. 나는 String.trim/1
가 존재하는 다음 작업 기대 : 주어진 함수를 값 목록에 매핑하는 방법은 무엇입니까?
iex> "My delimited ! string of doom" |> String.split("!") |> Enum.map(String.trim)
** (UndefinedFunctionError) function String.trim/0 is undefined or private. Did you mean one of:
* trim/1
* trim/2
(elixir) String.trim()
나는 존재하지 않는 기능
String.trim/0
를 나타내는
UndefinedFunctionError
받을 수 있습니다.
iex> "My delimited ! string of doom" |> String.split("!") |> Enum.map(fn (word) -> String.trim(word) end)
["My delimited", "string of doom"]
이 Enum.map/2
두 번째 매개 변수로 익명 함수를 필요합니까 : 내가 원하는 것은 쉽게 Enum.map
에 전달 된 익명 함수로 이루어집니다? 필자가 원하는 기능을 매개 변수로 제공 할 수 있습니까?
@TheAnhLe는 당신에게 정확한 답을 주신 있지만, 나는 그것이 캡처 기능은 코드 "더 나은"수 있는지 여부를 논쟁의 여지 생각합니다. 제 생각에 익명의 함수가 실제로 코드를 이해하기 쉽도록 만들었지 만 YMMV는 그렇다고 생각합니다. –
@OnorioCatenacci는 함수를 인수로 전달하기 위해 발행 된 Elixir 스타일 가이드 또는 관용적 인 Elixir를 보여줍니다. 나는 깨끗하고 간결한 코드를 작성하기 위해 선상에있다. –
여기에 https://github.com/levionessa/elixir_style_guide가 있지만 익명의 함수를 사용하는 것보다 캡처를 사용하는 것의 문제는 아닙니다. –