【发布时间】:2020-10-06 23:51:22
【问题描述】:
我正在尝试“Ramdafy”一个函数并使其无点。这是我走了多远:
const hasFetchedForFilterQueryString = state => {
const filterQueryString = getFilterQueryString(state);
return either(
pipe(getPages, has(filterQueryString)),
pipe(getNewlyLoadedUsers, has(filterQueryString)),
)(state);
};
// or
const hasFetchedForFilterQueryString = state =>
either(
pipe(getPages, has(getFilterQueryString(state))),
pipe(getNewlyLoadedUsers, has(getFilterQueryString(state))),
)(state);
我想知道是否有一种方法可以编写更多的无点数,因此无需将filterQueryString 保存在变量中并且不必手动应用state?
【问题讨论】:
-
总有办法让它变得无意义,但在这种情况下它是毫无意义的。
-
请注意,例如,monad 被设计为函数应用程序(非无点),而不是 kleisli 组合,也就是说,无点不一定更具功能性。
-
@Bergi:我通常同意,但在这里我认为我们可以制作一个非常有用的无点版本。看我的回答。
标签: javascript functional-programming ramda.js pointfree