函数式编程是一种基于使用函数构建抽象,避免副作用和状态变化的编程范例。纯函数编程是线程安全的。
我一直在尝试将更多的函数式编程融入到我所做的事情中,因为我编写的代码具有无副作用的性质及其在并发代码中的实用性。我遇到了新...
我有许多返回 Option 值的函数,如下所示 案例类别 A() 案例类别 B() 案例类别 C() def optionA(): 选项[A] = 无 def optionB(): 选项[B] = Some(B()) def optionC():
我是 OCaml 新手,在理解模块类型如何工作方面遇到了一些困难。 模块类型 I = sig 类型t 结尾 模块 EQ (M : I) = 结构 设等于 (x : M.t) (y : M.t) = x = y 结尾 (*
在 Rust 中,没有函数的类型,而是 Fn 特征,如下所示: 特征 Fn { fn 调用(self, args: A) -> R; } 那么函数的类型可以...
在由 0 和 1 组成的 m x n 矩阵中,我们的任务是计算 4 个方向相连的 1 岛。 python的实现如下: def numIslands(网格): 绝对罪恶...
我正在寻找一个可以执行以下操作的函数: def self.my_find 对象 = self.first #Whatever 返回对象.my_check? ?对象:无 结尾 像检查这样的东西: 对象.check(&:my_...
使用数组时,经常需要中间表示 - 特别是与函数式编程相关,其中数据通常被视为不可变: 常量平方 = x ...
所以基本上我想写一个可以这样写的函数: { println(_) } =: 东西 在这里我希望它真正做事。=:(println(_))。为了论证,我们可以说 =: 有
Haskell 是否可以从另一种类型的值派生出一种类型,以便任何两个不同的值都会产生不同的类型?
上下文如下: newtype A = A 整数求导 (Eq) 数据 PairOfA = PairA A A 推导 (Eq) mkPairOfA :: [A] -> A -> A -> 也许 PairOfA mkPairOfA 作为 a1 a2 = 如果 a1 `elem` 为 &&a...
Haskell 中有没有一种方法可以用另一个类型的值参数化一个类型?
我有一个类型 A 和一个代表一对 A 的关联类型,具体来说是 (A, A)。我还有一个针对此对类型的智能构造函数,它采用一组 A 和 A 的两个值。构造...
我无法让这个例子工作 { $_ + $_ }, { $_ + 1}, {$_ - 1} | % { $_ 1 } 我希望它构造一个列表/数组/集合/任何函数(这部分很好),然后将该列表通过管道传输到...
在链接中使用数组方法之前如何避免Javascript迭代器计算
生成器/迭代器允许操作对象序列,而无需首先构建所有序列项。因此它可以节省机器上的内存空间。 数组方法,如 map、reduce、find、
作为 F# 公认的新手,我很难理解为什么会出现此错误。 这是我公认的琐碎且冗余的代码: 开放系统 开放系统全球化 让到上...
使用Enum.find_index/2,我们可以找到元素的索引。 但是,如果同一个元素出现多次,我们该怎么办呢? 我希望有这样的行为: iex> find_indexes(["a", "b", "c...
所以我再次拿起 Project Euler 来玩一下 Kotlin。对于那些不知道 Project Euler 的人来说,这是一个提供从平庸到相当困难的编程练习的网站。 无论如何,第一个
是否可以将 Lodash 数组方法与 es6 数组方法链接起来
我想在不使用 _chain 的情况下以函数式编程风格将 Lodash 数组方法与 ES6 数组方法互换链接。 我想这样做: 从 'lodash' 导入 {flatMap}; 常量...
在Java中,可以像这样声明和折叠无限流 List 收集 = Stream.iterate(0, i -> i + 2) .map(i -> i * 3) .filter(i -> i % 2 == 0) .限制(...
我是 Haskell 和函数式编程的新手。我正在尝试用 Haskell 编写 3 路合并排序算法。问题是,当我在 GHCi 中运行代码时,它只返回 *** 异常:堆栈溢出...
我尝试研究更严格的编程主题,因为我意识到有很多我一无所知的范例。我关注了 SICP 和计算机科学基础等书籍...
在 haskell 中创建真实频率图的惯用方法是什么(不使用 Data.Map)?
我认识到这个问题有点奇怪,毕竟 Data.Map 似乎是创建频率图的正确数据结构。然而,我想创建一个频率图,它实际上只是一个函数......