问题标签 [ramda-fantasy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - 带有 ramda 和 ramda-fantasy 的 Monadic IO
试图弄清楚 IO monad 是如何工作的。
使用下面的代码,我阅读filenames.txt
并使用结果重命名目录中的文件testfiles
。这显然还没有完成,所以我没有真正重命名我登录到控制台的任何内容。:)
我的问题是:
- 我打
runIO
了两次,但感觉应该只打一次,到底? - 我想使用
renameIO
而不是renaneDirect
但找不到正确的语法。
任何其他建议也很感激,我是 FP 的新手!
javascript - 将函数列表应用于 Javascript 中的可能值
我正在使用ramda-fantasy
单子。我在 a may 中有一个字符串,还有一些函数将对字符串执行正则表达式匹配并返回 a Maybe String
。
如何映射可能以应用所有功能并连接结果?
我有
我怎样才能做到这一点?
javascript - Ramda 通过链式调用传递“Maybe”错误消息
假设我有一堆函数返回 Just or Nothing 值,我想像这样将它们链接在一起;
输出:
在上面的代码中,因为它在函数返回 M.Nothing("Reason 1") 的步骤中失败了,所以它没有通过其他函数,这是我所期望的。我相信没有带参数的 Nothing 的有效构造函数。有没有办法在执行结束时得到这个失败消息?我在民间故事中也试过这个,它与幻想土地规格有关吗?
谢谢
javascript - RE: ramda-fantasy map 方法遇到错误
我试图了解地图在 FP 中是如何工作的。我想测试地图在函数式编程中是如何工作的。
下面是测试代码。
javascript - How to transfer Either.Right to Either.Left?
If the first test doesn't pass, it will return Either.Left, and the second one won't be called. It will out put:
_Right {value: user}
But if the first one passed but the second one doesn't, it will become:
_Right {value: _Left {value: err}}
I want it to output _Left {value: err} only, how to fix the code or is there any way to transfer the Right to the Left?
javascript - 如何从 ramda-fantasy 中的 Maybe monad 中获取值?
我想要一个对 Maybe 执行一些操作的管道,并希望最后返回它的值。目前我正在做:
有没有更干净的出路?
javascript - 映射包裹在 Maybe 中的数组
如何映射包裹在 Maybe 或任何其他 Monad 中的数组?现在我正在使用
javascript - 将 Fluture 与 Ramda 一起使用
我用 Bluebird 做异步的东西,但现在必须做很多空/空/错误检查,我不想走通常的 if Else 路线。我正在考虑使用单子,但还没有完全理解它。
此外,我希望它与 ramda 很好地配合,pipe / compose
因为我的大多数其他代码都巧妙地封装在功能管道中。根据许多 讨论, monadic Futures(似乎推荐 Fluture)优于 Promises,并且在未来的版本中可能会删除对 pipeP 和 composeP 的支持。
Fluture 似乎是一个不错的选择,因为它应该与符合幻想世界规范的库(如 ramda)配合得很好。
但是,我完全不知道如何实现将 Ramda 的管道与 Fluture 集成的东西。我需要一些示例代码的帮助。
例如:
我有一个返回对象数组的数据库调用。数组可能有值、为空或未定义。我有一个功能管道,可以转换数据并将其返回到前端。
示例承诺代码:
有人可以就继续进行的好方法给出一些指示。
javascript - 当它们都是期货时,为什么第三个函数不会在 pipeK 中被调用?
我不知道为什么doStuff3
没有调用第三个函数(即),所以console.log
on fork 应该打印"hello world!!!!"
你可以在Ramda REPL上运行它
ramda.js - Ramda:有没有办法找到特定的键值是嵌套对象?
我想找到特定的键值是否是嵌套对象。
在上面的例子中,我想找到'a'和'b'是对象还是嵌套对象?