functional-programming相关内容

用于定义Scala中的Function的def或val

我正在学习大学的Programming Paradigms,并阅读由演讲者提供的课程材料,它以这种方式定义了一个函数: val double =(x:Int)=> 2 * x double:Int => Int = 但是从我自己的研究中,我发现并习惯于像这样定义相同的函数: def d(x:Int)= 2 * x d:(x:Int) ..
发布时间:2018-04-17 11:42:30 其他开发

是否可以用没有函数的语言进行函数式编程?

在此评论中,有人表示Ruby没有功能,只有方法。如果Ruby没有函数,是不是可以在其中进行函数式编程?或者我对术语“功能”感到困惑? 我的意思是“函数式编程”,意思是作为第一类对象,而不是禁止可变状态。 / p> 解决方案 是的。方法vs函数是一个很好的区别。 很容易将每个特定的方法实现视为一个函数;只要把它作为一个额外的参数调用该方法的对象(如果你的语言没有明确地传递它;不太 ..
发布时间:2018-04-17 11:38:03 其他开发

使用F#中的对象/记录的无点式样

当我试图以一种无点功能的风格编程时,“点符号”与对象和记录一起工作时,我受到了阻碍(我认为这是一种非常简洁的方式来使用功能性语言, )。 是否有一个运算符或函数我错过了,可以让我执行如下操作: (。)object method 而不是 object.method ? ?运算符,我认为它是这样工作的,除了它需要定义并进入整个动态绑定的东西,我不认为我需要它。) 换句话说,我是否可 ..
发布时间:2018-04-17 11:37:58 其他开发

组成功能和功能模块

Python 3.2文档指的是 Collin Winter的功能模块,其中包含函数 compose : compose()函数实现函数组合。在其他 字词中,它会返回一个包裹外部和内部可调用对象的包装,例如 ,从内部返回的值将直接传递给outer。 不幸的是,这个模块自2006年7月以来一直没有更新;现在,我只需要 compose 函数。现在,我只需要 compose 函数。下面的原 ..

在C#中使用Y Combinator

我试图弄清楚如何在一行中编写递归函数(例如阶乘,尽管我的函数更复杂)。为此,我考虑使用 Lambda微积分 Y combinator 。 以下是第一个定义: Y =λf。(λx.f(xx))(λx.f(xx)) 下面是精简定义: Y g = g(Y g) 我试图用C#编写它们: p> //原始 Lambda Y = f => (新 ..
发布时间:2018-04-17 11:17:23 C#/.NET

Haskell函数组成

我正在阅读关于Haskell的这篇教程。他们将函数组合定义如下: (。)::(b-> c ) - > (a-> b) - > (a-> c) f。 g = \ x - > f(gx) 没有提供任何示例,我相信这些示例会启发我关于正在定义的内容在这里。 有人可以提供一个简单的例子(解释)如何使用函数组合? 解决方案 功能组合是将两个功能“组合”为一个功能的 ..
发布时间:2018-04-17 11:16:52 其他开发

高阶函数有什么有趣的用法?

我目前正在做一个函数式编程课程,我很喜欢高级函数和函数作为一等公民的概念。然而,我还不能想到许多实际上有用的,概念上的惊人的,或者仅仅是简单有趣的高阶函数。 (除了典型的和非常枯燥的 map , filter 等函数)。 您知道这些有趣功能的例子吗?函数,返回函数列表的函数(?)等。 我很欣赏Haskell中的例子,这是我目前学习的语言:)那么你注意到Haskell没有循环的语法吗?没 ..

私有函数vs嵌套函数

问题是:何时使用私有函数以及何时使用嵌套函数? (我问的是 F#,但也许答案可能与其他功能语言相关) 一个小例子 namespace SomeName 模块BinaryReaderExt = 打开System.IO let seek(reader :BinaryReader)positions = reader.BaseStream.Seek(positio ..
发布时间:2018-04-17 10:59:45 其他开发

什么是函数组合算法,可用于多个参数,如h(x,y)。 f(x)。 g(x)= h(f(x),g(x))?

例如,假设我们有函数 double(x)= 2 * x , square(x)= x ^ 2 和 sum(x,y)= x + y 。什么是 compose ,比如 compose(compose(sum,square),double)= x ^ 2 + 2 * x ?注意我正在问一个可以用于任何元素的函数的函数。例如,你可以用 g(x), f(x,y,z) (x),h(x),h(x), i(x) ..
发布时间:2018-04-17 10:53:02 其他开发

我可以将任意函数传递给Scala中的另一个函数吗?

我是Scala的新手,能够将函数传递给其他函数非常简洁 - 但我可以将任意函数引用传递给另一个函数吗?所述函数参数的参数将是固定的(也就是说,我也很好奇你是否可以传递任意函数的函数)。我一直因为类型错误而被绊倒。我已经尝试使用任何但它似乎没有帮助。 例如,我有下面的代码: class CodeRunner(val user_defined:(Int)=> Unit){ def ru ..

我如何编写一个返回另一个函数的函数?

在Python中,我想写一个函数 make_cylinder_volume(r),它返回另一个函数。返回的函数应该可以用参数 h 来调用,并返回高度为 h 和半径 r 。 我知道如何从Python中的函数返回值我返回另一个函数? 解决方案 b 导入数学 def make_cylinder_volume_func(r): def volume(h): return math. ..
发布时间:2018-04-17 10:33:16 Python

什么是“提升”在斯卡拉?

有时,当我阅读Scala生态系统中的文章时,我读到了“提升”/“提升”的术语。不幸的是,它没有解释到底是什么意思。我做了一些研究,似乎解除与功能值或类似的东西有关,但我无法找到一个文本解释以新手友好的方式实际提升的内容。 电梯框架,它的名字取消了,但并没有帮助回答这个问题。 什么是Scala中的“提升”? 解决方案 有几个用法: $ b PartialFunction ..
发布时间:2018-04-17 10:32:14 其他开发