Elm- 부분 적용 2일차
3689 단어 beginnersfunctionalelmwebdev
[]
. 지루한 것들.오늘 우리가 배운 흥미로운 것은 부분 적용이었습니다. 부분적으로 적용된 함수는 일부 인수가 생략된 상태로 호출된 함수입니다. 이것은 Javascript, PHP의 상당히 표준적인 문제이며 다른 프로그래밍 언어를 상상합니다. 흥미로운 점은 Elm이 기능적 프로그래밍 언어로서 문제를 다루는 방식입니다.
Javascript 또는 PHP 개발자와 같은 기능적 프로그래밍 학습의 어려움은 다양한 개념의 정신 모델과 실제로 FP에 적용되는 방법 사이의 충돌입니다.
Javascript에서 인수가 생략되면 함수는 그 자리에 기본 인수를 사용합니다. 기본 인수는
undefined
[개발자가 지정하지 않는 한]이며 함수는 이 기본 인수로 실행됩니다. 지루한 것들. 예를 들어:function pluralize(singular, plural, quantity){
// ...
}
pluralize('boy', 'boys') // the third argument here will be `undefined`.
function pluralize(singular, plural, quantity = 1){
// ...
}
pluralize('boy', 'boys') // the value 1 will be passed to pluralize as the third argument.
Elm에서는 개념이 완전히 다릅니다. 인수를 생략하면 함수가 부분적으로 실행되고 누락된 인수를 사용하여 평가를 완료하는 다른 함수가 반환됩니다. Elm에서 동일한 예를 살펴보겠습니다.
pluralize singular plural quantity =
if quantity === 1 then
singular
else
plural
pluralize "boy" "boys" -- will return an anonymous function that I will express as `f` that takes a number and finishes the evaluation of pluralize:
f quantity = pluralize "boy" "boys" quantity.
이것은 매우 흥미롭고 내가 익숙한 것과는 다릅니다. 나는 이것을 고수하기 위해 다양한 버전을 작성했습니다.
싱크하기 위해 the intro to elm에서 수정한 또 다른 예는 다음과 같습니다.
느릅나무는 훌륭합니다. 그것을 통과!
Reference
이 문제에 관하여(Elm- 부분 적용 2일차), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/dialaeke/day-2-of-elm-partial-application-2fi6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)