functional-programming相关内容

在依赖类型的函数式编程语言中,展平列表是否更容易?

在Haskell中寻找一个可以展平任意深度嵌套列表的函数,即递归地应用concat并在最后一次迭代时停止(使用非嵌套列表)的函数时,我注意到这需要有一个更灵活的类型系统,因为随着列表深度的变化,输入类型也会有所不同。事实上,有几个堆栈溢出问题--例如this一个--其中响应指出,不存在将在不同深度‘查看’不同嵌套列表的函数。 编辑:有些答案在Haskell中提供了解决办法,用于自定义数据类型,或 ..
发布时间:2022-08-20 11:39:27 其他开发

使用Purrr::PWalk从Tibble创建多个闪亮的观察事件

我正在尝试做的事情 我希望迭代一个Tibble并创建多个serveEvent。下面我有一个可重复使用的例子。注释掉的代码可以工作,但我想使用pwalk以编程方式创建观察事件。 基本上,我正在尝试实现与本文类似的内容:using purrr::walk to instate multiple event observers。 (尽管目标不同。我的目标是在某一选定输入发生更改时,跨多个选项 ..
发布时间:2022-08-17 15:28:27 其他开发

对期权的提升函数

有没有办法提升一个简单的函数,就像这样 fn add(a:i32, b:i32) -> i32 {a+b} 对Option(或任何其他一元类型)进行操作,类似于在Haskell中使用Applicative 我知道此解决方案: pub fn add(a: Option, b: Option) -> Option { Some(a? + b?) ..
发布时间:2022-07-18 11:12:53 其他开发

对于需要两个参数的函数,如何在向量上使用std::Range?

我一直在尝试理解新的范围库,并尝试将一些更传统的for循环转换为函数代码。cppreference给出的示例代码非常简单易懂。但是,我不确定如何对需要查看、计算和比较每个x和y值的点向量应用范围,最后哪个值的距离最大。 struct Point { double x; double y; } double ComputeDistance(const Point& p1, const ..
发布时间:2022-05-16 15:11:34 C/C++开发

String.IsNullor Empty Monad

我最近涉足了函数式编程的迷人世界,这主要是因为我获得了像Reaction这样的FP平台的经验,并在https://blog.ploeh.dk/之类的博客上阅读了这些经验。作为一名主要的命令式程序员,这是一个有趣的转变,但我仍然在努力摸索自己的脚步。 我有点厌倦了这样使用string.IsNullOrEmpty。很多时候,我发现自己在代码中使用 这样的表达式 _ = string.IsNu ..
发布时间:2022-04-20 14:07:20 C#/.NET

函数者和单子之间的区别是什么?

这里有类似的问题,但它们与特定的编程语言有关,我正在寻找概念级别的答案。 据我所知,函数器本质上是不变的容器,它公开派生另一个函数器的map()API。哪项添加使将特定的函数器称为单体成为可能? 据我所知,每个单子都是函子,但并不是每个函子都是单子。 推荐答案 (请注意,这将是对范畴理论概念的简化解释) 函数器 函数器是从一组值a到另一组值a -> b的函数。对于编 ..
发布时间:2022-04-20 13:38:52 其他开发

如何返回响应实体可以是两种不同类型的单响应实体(&L;)

我是新手,我正在尝试执行以下功能: 调用userservice.LoginWebApp() 如果返回User,则返回User类型的ResponseEntity。如果为空,则返回“字符串”类型的ResponseEntity 以下代码提供了一个类型错误,因为.defaultIfEmpty()需要类型为User的ResponseEntity。您能建议正确的操作符/方法来实现此功能吗? ..

像Clojure中的assoc一样,是否有python函数可以返回添加了新键的新dict?

我在编写Clojure之后编写了一段时间的python,我有点生疏了,但我正在以一种更实用的方式来处理它。为了遵循我在Clojure中使用的模式,我想使用map(或列表理解)和类似于assoc的东西在列表中的每个词典中设置关键点。 我有一个记录列表,我想用列表理解重新构造它们。 记录如下所示: { "timestamp":1232435235315, "data": { ..