functional-programming相关内容

Swift编译器错误:“表达式太复杂”在字符串连接上

我觉得这很有趣,而不是任何事情。我已经修复了,但我想知道原因。这是错误: DataManager.swift:51:90:表达式太复杂,无法在合理的时间内解决;考虑将表达式分解成不同的子表达式。它为什么抱怨?它似乎是最简单的表达式之一。 编译器指向列+“);”; section func tableName() - > String {return(“users”); } f ..
发布时间:2018-04-18 15:04:16 移动开发

用于通过索引对矢量进行分区并对该分区执行操作的习惯R代码

我试图在R中找到惯用的方式来通过某个索引向量对数值向量进行分区,找到该分区中所有数字的总和,然后将每个条目除以该分区总和。换句话说,如果我从这开始: df 我希望输出创建一个向量(让我们称它为z): (1 + 2),2 /(1 + 2),3 /(3 + 4),3 /(3 + 4),5 /(5 + 6),6 / (5 + 6)) 如果我这样做是SQL并且 ..
发布时间:2018-04-18 15:04:11 其他开发

Haskell入门

几天来,我试图围绕Haskell中的函数式编程范例进行研究。我通过阅读教程和观看截屏视频来完成这一任务,但似乎没有任何关系。 现在,在学习各种命令/ OO语言(如C,Java,PHP)时,练习对我来说是一个好方法。但是由于我并不真正了解Haskell的能力,并且有许多新的概念可供使用,所以我不知道从哪里开始。 你学习了Haskell吗?是什么让你真的“破冰”?此外,任何好的想法开始练习? ..
发布时间:2018-04-18 15:04:00 其他开发

如何使用underscore.js作为模板引擎?

我试图了解JavaScript的新用法作为服务器端语言和功能语言。几天前我听说过node.js和表达框架。然后我将underscore.js看作一组实用函数。我在 stackoverflow 上看到了这个问题。它说我们可以使用underscore.js作为模板引擎。任何人都知道关于如何使用underscore.js进行模板化的好教程,特别是对于那些对高级javascript没有经验的biginn ..

什么是monad?

在最近简单介绍了Haskell之后,简单,简洁,实用的解释是什么monad实质上是什么? 我发现我所遇到的大部分解释是相当难以获得的,并且缺乏实际的细节。 解决方案 如果你不是数学家,monad 有点空虚。另一个术语是计算构建器,它对它们实际上有用的内容进行了更详细的描述。 你问一些实际的例子: p> 示例1:列表理解: [x * 2 | x 这个表达式 ..
发布时间:2018-04-18 15:03:53 其他开发

什么是(功能性)反应式编程?

我已阅读关于响应式编程的维基百科文章。我还阅读了关于功能性响应式编程的小文章。这些描述非常抽象。 功能性反应式编程(FRP)在实践中意味着什么? 反应式编程(与非反应式编程相反)包含什么? 我的背景是命令式的/面向对象语言,所以我们将赞赏与这种范式相关的解释。 $ b 解决方案 如果你想感受FRP,你可以从旧的弗兰教程从1998年,它具有动画插图。有关论文,请从 功能性动画动画 ..

什么是'关闭'?

我问了一个关于柯里和封闭的问题。 什么是封闭?它与currying有什么关系? 解决方案 变量范围 当你声明一个局部变量,该变量有一个范围。通常局部变量只存在于声明它们的块或函数中。 function(){ var a = 1; console.log(a); //作品 } console.log(a); //失败 如果我尝试访问局部变量,大多数语 ..

斯卡拉的收益是多少?

我了解Ruby和Python的收益率。 Scala的收益率是什么? 解决方案 它用于 sequence comprehensions (比如Python的列表解析和生成器,也可以使用 yield )。 p> 它与结合用于,并在结果序列中写入一个新元素。 简单示例(来自 scala-lang ) / **将命令行参数转换为大写* / 对象Main { def main ..
发布时间:2018-04-18 15:03:42 其他开发

使用带有lambda的JDK8压缩流(java.util.stream.Streams.zip)

在带lambda b93的JDK 8中,有一个类 java.util在b93中的.stream.Streams.zip 这可以用于压缩流(这在教程中进行了说明探索Java8 Lambdas。第1部分Dhananjay Nene )。此函数: 创建一个惰性和顺序组合的Stream,其元素是组合两个流的元素的 结果。 / p> 然而在b98中这个消失了。事实上, Streams 类甚至在 ..

什么是'Currying'?

我在几篇文章和博客中看到了curried函数的引用,但是我找不到一个好的解释(或者至少有一个是合理的!) 解决方案Currying是当你分解一个函数,它将多个参数放入一系列包含参数的函数中。下面是JavaScript中的一个例子: $ b function add(a, b){ return a + b; } add(3,4); //返回7 这是一个函 ..

方案 - 将变量定义为函数的结果?

我的一个程序的开始会导致错误。这是问题领域。我试图定义一个变量作为递归函数的结果。 (define(test n) ( define(a1func i) (if(= i 1)0 (+(/ 1 i)(a1func( - i 1))))) (define a1(a1func( - 如果你要给它说(test()),那么你可以使用 10)错误是: lockquote 程序应用程序:期望 ..
发布时间:2018-04-17 18:58:30 其他开发

posmax:与argmax类似,但给出f [x]最大的元素x的位置

Mathematica有一个内置函数 ArgMax ,用于无限域上的函数,基于标准数学定义。 有限域的模拟是一个方便的效用函数。 给定一个函数和一个列表(称之为函数的域),返回列表中最大化该函数的元素。 下面是一个有限argmax的例子: Canonicalize NFL team名称 这里是我的实现(和argmin一样好): (* argmax [f,domain]返回 ..

什么样的功能被视为“可组合”?

维基百科文章功能组合(计算机科学)说: 像数学中通常的函数组合一样,每个函数的结果都作为下一个的参数传递,最后一个的结果是 我有两个问题: 一个可组合的函数必须同时具有参数和返回值吗? 所以下面的函数不是: def doNothing():Unit =() def myName():String =“我的名字” def eat(food:String ):Uni ..
发布时间:2018-04-17 17:53:08 其他开发