명명 된 함수 대신 Elixir에서 익명 함수를 사용하는 경우? 나는 익명 함수를 사용하여이 경우엘릭서에서 익명 기능을 사용할시기는?
handle_open = fn
{:ok, :done} -> "OK"
{:error, _} -> "Error:"
end
handle_open.(ExAws.S3.download_file("#{Application.get_env(:ex_aws, :s3)[:bucket_s3]}", "foo.jpg", "../../public") |> ExAws.request);
:
예를 들어 나는이 조각을 가지고있다. 명명 된 함수를 사용하여 동일한 결과 (멀티 바디 포함)를 어떻게 가질 수 있습니까?
이 경우 익명 또는 명명 된 함수를 사용하는 것이 더 정확합니까?
익명 함수 또는 명명 된 함수를 사용하는 경우의 대답은 새 함수에 약간의 코드를 추출 할 때와 같습니다. 왜 추출합니까? 당신이 그것을 재사용하기를 원하기 때문입니다. 코드가 작다면 그냥 익명의 함수를 정의하고 사용하면된다. (주로 Enum.map과 같이 콜백을받는 함수와 함께 사용된다.) 다른 곳에서 함수가 필요한 경우 이름이 지정된 함수로 함수를 추출하는 것이 좋습니다. 부가 메모로 익명 함수를 변수에 할당했습니다. 그건 내가보기 드문 일입니다. 한 번 사용 코드에는 인라인 익명 함수를 사용하고 재사용 가능한 코드에는 명명 된 코드를 사용하십시오. – vfsoraki