람다 기본 사용법

omnigi·2022년 3월 5일
0

Typescript Do it

목록 보기
22/23
post-thumbnail

R.range 함수

R.range 함수는 다음 형식으로 사용하며, [최솟값, 최솟값 + 1, ..., 최댓값 -1]형태의 배열을 생성해 줍니다.

R.range(최솟값, 최댓값)

다음 코드는 R.range함수를 이용해 1부터 9까지 연속된 숫자 배열을 생성하는 예입니다.

R.tap 디버깅용 함수

R.tap함수는 2차 고차함수 형태로 현재 값을 파악할 수 있게 해줍니다.

R.tap(콜백함수)(배열)

import * as R from "ramda"
const numbers: number[] = R.range(1, 9 + 1)
R.tap(n => console.log(n))(numbers)

R.pipe 함수

compose와 pipe함수를 R.compose와 R.pipe 형태로 제공합니다. 로직을 구현할 떄에는 R.pipe함수가 이해하기 더 편함

import * as R from "ramda"

const numbers: number[] = R.range(1, 10)

R.pipe(
	R.tap(n => console.log(n))
)(numbers)

포인트가 없는 함수

람다 라이브러리는 200개가 넘는 함수를 제공하지만 대부분은 2차 고차 함수 형태로 구현되어있음.

2차고차함수는 포인트가 없는 함수형태로 사용 가능

자동 커리 이해하기

람다 라이브러리의 함수들은 매개변수가 두개인 함수를 일반 함수처럼 사용할 수도 있고 2차 고차함수로 사용할 수도 있습니다.

import * as R from "ramda"

console.log(
	R.add(1, 2),
	R.add(1)(2)
)

R.curryN 함수

람다 라브러리의 함수들은 자동 커리 방식으로 동작할 수 있도록 매개변수의 개수가 모두 정해져 있습니다.

export const sum = (...numbers: number[]): number =>
numbers.reduce((result: number, sum: number)=> result + sum, 0)

0개의 댓글