问题标签 [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.

0 投票
1 回答
1204 浏览

node.js - 带有 ramda 和 ramda-fantasy 的 Monadic IO

试图弄清楚 IO monad 是如何工作的。

使用下面的代码,我阅读filenames.txt并使用结果重命名目录中的文件testfiles。这显然还没有完成,所以我没有真正重命名我登录到控制台的任何内容。:)

我的问题是:

  1. 我打runIO了两次,但感觉应该只打一次,到底?
  2. 我想使用renameIO而不是renaneDirect但找不到正确的语法。

任何其他建议也很感激,我是 FP 的新手!

0 投票
1 回答
207 浏览

javascript - 将函数列表应用于 Javascript 中的可能值

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

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

我有

我怎样才能做到这一点?

0 投票
1 回答
374 浏览

javascript - Ramda 通过链式调用传递“Maybe”错误消息

假设我有一堆函数返回 Just or Nothing 值,我想像这样将它们链接在一起;

输出:

在上面的代码中,因为它在函数返回 M.Nothing("Reason 1") 的步骤中失败了,所以它没有通过其他函数,这是我所期望的。我相信没有带参数的 Nothing 的有效构造函数。有没有办法在执行结束时得到这个失败消息?我在民间故事中也试过这个,它与幻想土地规格有关吗?

谢谢

0 投票
1 回答
34 浏览

javascript - RE: ramda-fantasy map 方法遇到错误

我试图了解地图在 FP 中是如何工作的。我想测试地图在函数式编程中是如何工作的。

下面是测试代码。

0 投票
1 回答
99 浏览

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?

0 投票
1 回答
357 浏览

javascript - 如何从 ramda-fantasy 中的 Maybe monad 中获取值?

我想要一个对 Maybe 执行一些操作的管道,并希望最后返回它的值。目前我正在做:

有没有更干净的出路?

0 投票
1 回答
475 浏览

javascript - 映射包裹在 Maybe 中的数组

如何映射包裹在 Maybe 或任何其他 Monad 中的数组?现在我正在使用

0 投票
2 回答
1857 浏览

javascript - 将 Fluture 与 Ramda 一起使用

我用 Bluebird 做异步的东西,但现在必须做很多空/空/错误检查,我不想走通常的 if Else 路线。我正在考虑使用单子,但还没有完全理解它。

此外,我希望它与 ramda 很好地配合,pipe / compose因为我的大多数其他代码都巧妙地封装在功能管道中。根据许多 讨论, monadic Futures(似乎推荐 Fluture)优于 Promises,并且在未来的版本中可能会删除对 pipeP 和 composeP 的支持。

Fluture 似乎是一个不错的选择,因为它应该与符合幻想世界规范的库(如 ramda)配合得很好。

但是,我完全不知道如何实现将 Ramda 的管道与 Fluture 集成的东西。我需要一些示例代码的帮助。

例如:

我有一个返回对象数组的数据库调用。数组可能有值、为空或未定义。我有一个功能管道,可以转换数据并将其返回到前端。

示例承诺代码:

有人可以就继续进行的好方法给出一些指示。

0 投票
1 回答
30 浏览

javascript - 当它们都是期货时,为什么第三个函数不会在 pipeK 中被调用?

我不知道为什么doStuff3没有调用第三个函数(即),所以console.logon fork 应该打印"hello world!!!!"

你可以在Ramda REPL上运行它

0 投票
1 回答
1814 浏览

ramda.js - Ramda:有没有办法找到特定的键值是嵌套对象?

我想找到特定的键值是否是嵌套对象。

在上面的例子中,我想找到'a'和'b'是对象还是嵌套对象?