繁体   English   中英

将功能列表应用于Java可能的值

[英]Apply list of functions to maybe value in Javascript

我对单子使用ramda-fantasy 我在may和some函数中有一个字符串,这些函数将对字符串执行正则表达式匹配并返回Maybe String

我如何映射可能应用所有功能并连接结果?

我有

const fieldRetrievers = [ 
  getAddress,
  getName,
  getPhone, 
]

const text = Maybe.of("a text")

// I want to define
// List (String -> Maybe String) -> Maybe String -> Maybe String
function getInfo(retrievers, maybeText) {...}

我怎样才能做到这一点?

您正在寻找composeK ,即单子结构(“ kleisli箭头”)上的函数组成。

基本上,您产生的函数应该反复chain到输入:

text.chain(getAddress).chain(getName).chain(getPhone)

您可以通过reduce函数数组来实现:

R.reduce((m, f) => m.chain(f), text, fieldRetrievers)

所以你会写

const getInfo = R.flip(R.reduce(R.flip(R.chain)))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM