함수형 프로그래밍에서 리프팅은 옵션과 같은 특정 컨텍스트 내에서 작동하도록 함수를 조정하는 프로세스를 의미합니다. Effect-TS는 함수를 Option 컨텍스트로 끌어올리는 편리한 방법을 제공하므로 함수나 조건자를 Option 값에 원활하게 적용할 수 있습니다. 이 기사에서는 리프팅을 위한 두 가지 핵심 기능인 O.lift2와 O.liftPredicate를 살펴보겠습니다.
O.lift2 함수를 사용하면 이진 함수(두 개의 인수를 취하는 함수)를 옵션 컨텍스트로 리프트할 수 있습니다. 이를 통해 두 개의 Option 값에 함수를 적용할 수 있습니다. 두 옵션이 모두 Some이면 함수가 적용됩니다. 옵션 중 하나라도 None이면 결과는 None입니다.
function lifting_ex01() { const add = (a: number, b: number) => a + b; const liftedAdd = O.lift2(add); const some1 = O.some(1); // Create an Option containing the value 1 const some2 = O.some(2); // Create an Option containing the value 2 const none = O.none(); // Create an Option representing no value console.log(pipe(some1, liftedAdd(some2))); // Output: Some(3) (1 + 2 = 3) console.log(pipe(some1, liftedAdd(none))); // Output: None (since one Option is None) console.log(pipe(none, liftedAdd(some2))); // Output: None (since one Option is None) }
이 함수는 하나 또는 둘 다 None일 수 있는 경우를 처리하면서 두 개의 Option 값에 이진 함수를 적용하려는 경우에 특히 유용합니다.
O.liftPredicate 함수를 사용하면 조건자(부울을 반환하는 함수)를 옵션 컨텍스트로 리프트할 수 있습니다. 이는 조건자를 옵션을 반환하는 함수로 변환합니다. 조건자가 충족되면 값과 함께 Some을 반환합니다. 그렇지 않으면 None을 반환합니다.
function lifting_ex02() { const isPositive = (n: number) => n > 0; const liftedIsPositive = O.liftPredicate(isPositive); console.log(liftedIsPositive(1)); // Output: Some(1) (1 is positive) console.log(liftedIsPositive(-1)); // Output: None (-1 is not positive) console.log(liftedIsPositive(0)); // Output: None (0 is not positive) }
이 함수는 값에 조건자를 적용하고 결과를 Option 컨텍스트로 끌어올려 조건이 충족되면 Some을 반환하고 그렇지 않으면 None을 반환하려는 경우에 유용합니다.
Effect-TS의 옵션 컨텍스트에 함수를 추가하면 함수나 조건자를 적용하는 동안 선택적 값을 사용하여 원활하게 작업할 수 있습니다. O.lift2를 사용하면 옵션에 이진 함수를 적용하여 두 값이 모두 존재할 때만 작업이 수행되도록 할 수 있습니다. 마찬가지로 O.liftPredicate를 사용하면 조건자를 옵션을 반환하는 함수로 변환할 수 있으므로 옵션 컨텍스트 내에서 조건을 쉽게 캡슐화할 수 있습니다. 이러한 도구를 사용하면 함수형 프로그래밍에서 코드를 단순화하고 선택적 값을 보다 효과적으로 관리할 수 있습니다.
위 내용은 Effect-TS의 옵션 컨텍스트로 기능 끌어올리기: 실용 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!