Wpis z mikrobloga

#javascript #programista15k

Mam pytanie do osób znających Ramda i functional programming.

Często tworzę funckje typu:

const createList = pipe(
values,
map(whatEverFunctions),
filter(type => type === 'something'),
)

I teraz pojawia się pytanie w jaki sposób zorganizować drugi parametr bo chcąc na przykład:

const createList = pipe(
values,
map(whatEverFunctions),
filter(type => otherTypes.includes(type)),
)

I w jaki sposób poprawnie dostarczyć otherTypes do funkcji? Pojawia mi się pomysł

const createList = (otherTypes) => pipe(
values,
map(whatEverFunctions),
filter(type => otherTypes.includes(type)),
)
const factory = createList(otherTypes)
factory(types)

Ale nie wygląda to fajnie. Chciałbym mimo wszystko, żeby wyglądało to tak:

const createList = pipe(
values,
map(whatEverFunctions),
filter(type => otherTypes.includes(type)),
)
const factory = createList(types, otherTypes)

Ale nie wiem w jaki sposob poradzić sobie z obsługą tego w createList .

Z góry dzięki!
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@janekbrzechwa: const create createList = (otherTypes, types) => pipe(...)(types)

ogólnie w językach funkcyjnych często spotyka się kilkukrotne wywołanie funkcji wynikowej - f(x)(y)(z), więc to drugie rozwiązanie jest chyba najlepsze
  • Odpowiedz