首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏以终为始

    Scala 【 10 函数编程 】

    函数编程 将函数赋值给变量 ​ Scala 中的函数是一等公民,可以独立定义,独立存在,而且可以直接将函数作为值赋值给变量。 ​ Scala 中,函数也可以不需要命名,此时函数被称为匿名函数。 ​ to 20).filter(_ % 2 == 0) // 输出结果:scala.collection.immutable.IndexedSeq[Int] = Vector(2, 4, 6, 8, 10 Array(3,2,5,4,10,0).sortWith(_<_) // 结果: 0 2 3 4 5 10 // Array[Int] = Array(0, 2, 3, 4, 5, 10) 闭包 ​ 闭包最简洁的解释 此时就可以使用 Scala 提供的,在调用 Java 方法时,使用的功能,SAM 转换,即将 SAM 转换为 Scala 函数。 ​ 要使用SAM转换,需要使用 Scala 提供的特性,隐转换。

    52710编辑于 2023-03-09
  • 来自专栏AI科技大本营的专栏

    10分钟快速入门Python函数编程

    作者 | Brandon Skerritt 译者 | 王天宇、琥珀 编辑 | 琥珀 出品 | AI科技大本营 本文,你会了解到什么是函数编程,以及如何用 Python 进行函数编程。 一旦你设置了一个变量,它就会永远保持初始状态(注意:在纯函数语言中,它们不叫作变量)。因此在函数编程中,函数不会产生“副作用”。“副作用”是指函数可能会修改外部变量的值。 如果你对函数编程的感悟胜过指令编程,最终你会习惯这种转变的。 现在我们可以很容易写出一个像 "square(num)" 这样的函数了,但看起来不太合适。 ▌总结 函数编程是优雅而简洁的。函数代码可以非常简洁,但也可以非常凌乱。一些 Python 程序员不喜欢用 Python 函数解析。因此,你应该用你想用的,用最好的工具完成任务。 相关链接:https://hackernoon.com/learn-functional-python-in-10-minutes-to-2d1651dece6f

    89420发布于 2018-09-28
  • 来自专栏张家辉的树屋

    JavaScript: 函数编程 - 声明函数

    了解JavaScript函数编程目录 0-了解 JavaScript 函数编程 - 什么是纯函数 1-了解 JavaScript 函数编程 - 柯里化 2-了解 JavaScript 函数编程 - 代码组合的优势 3-了解 JavaScript 函数编程 - 声明函数 4-了解 JavaScript 函数编程 - 类型签名 声明 声明代码 什么是声明,我们将不再指示计算机如何工作 声明最重要的是不是指定执行顺序,所以它天然的适合进行并行运算。它和纯函数一起解释了为何函数编程是未来并行计算的一个不错的选择 -- 我们真的不需要做什么就能现实一个并行/并发系统。 所以我们需要纯函数和声明函数来隔离这种无用的错误。 为什么使用声明方式的函数函数? 在纯函数中,我们总是能保证我们的输出。 低复杂度,我们只需要考虑的是他是做什么的,而不是在乎过程怎么完成的。 易于测试,我们不用依赖于函数的状态,我们只关心结果的验证。 函数编程更加易于理解。 总结 声明和命令的区别和含义,这里我们可以结合上一篇文章 组合代码 相关知识。

    1.8K30发布于 2021-02-02
  • 来自专栏劝学

    函数编程】-纯函数

    函数是什么 函数,不依赖执行的上下文,也不影响上下文的变量,输出只由输入决定 看下几个不是纯函数的例子 输出依赖外部变量 let b = 1 function unPure(a) { return b } 复制代码 输出改变外部变量 let o = {} function unPure(object) { object.ex = 1 return object } 复制代码 纯函数的例子 有个什么用呢 function pure(a) { let b = 1 return a + b } 复制代码 纯函数的好处 更有利于单元测试 无副作用(side-effect),不会修改作用域外的值 = 'pending') { return {...options, {foo: 'baz'}} } } } 优化后的代码 // 使two抽离出来,成为纯函数 额外地说一下,使用纯函数与面向对象编程并无冲突。

    78510发布于 2021-01-21
  • 来自专栏Hank’s Blog

    (10)Python函数

    26750发布于 2020-09-16
  • 来自专栏用户9199536的专栏

    Python|函数编程|类的函数实现

    本文参考SICP,Function Abstraction python作为一个现代语言,结合着OOP和FP的多种性质,不同于其他OOP语言,python中的函数具有自己的环境,让我们从这里入手,看看类在 函数,闭包,其内部名称只可被内部访问,因此,本质上,它可以视为大部分成员都是私有的对象。 那么,函数有什么是public的呢,答案是,返回值,这是函数与外界沟通的桥梁.

    71130发布于 2021-11-22
  • 来自专栏全栈程序员必看

    java函数编程实例(函数编程实例)

    发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/128794.html原文链接:https://javaforall.cn

    1.5K10编辑于 2022-07-28
  • 来自专栏Android 开发者

    函数 Java 到函数 Kotlin 的转换

    目的是为创建一个带有非默认方法的接口,这样这个接口就可以将函数模拟成面向对象语言中的一等公民。 回调在函数接口中很常见。想象一下下面的场景,我们想要进行一些异步操作,稍后将结果返回给调用的客户端。 在构造函数中把接口转换为函数后,@FunctionalInterface 部分的样板代码从 96 个字符减少到 38 个字符,这可是减少了 40%。

    1.6K50发布于 2018-05-31
  • 来自专栏我杨某人的青春满是悔恨

    函数思维

    自从大四看了三章《SICP》之后我就自诩为一个函数编程爱好者,之前也在公司分享过一个 Haskell 的 Topic,效果非常糟糕,讲到后来已经没剩几个人了,只得草草收场。 emm.jpeg 今天我们就讲点简单的吧,举个例子大概感受下函数思维。 一道题 电话号码的字母组合 今天备战双十一,因为也没太多事情,就随便刷刷 leet code,看到了上题。 本文就是浅显地展示一下函数编程的感觉,它可能是从更高层更抽象的角度出发,尽量不涉及中间状态,也不过早地沉入细节,而是理清思路之后通过函数间的组合来解决问题。 真正的纯函数语言(Haskell)是没有副作用的(或者说隐藏了副作用),而真实的世界却充满副作用,为了能够正常工作并且保持自己的纯粹,它引入了范畴论中的各种概念,很有意思但确实有比较高的门槛,而且那些复杂的理论学了平常用不到很快就忘了 但函数的思维,却是可以成为一种习惯,融入日常开发中的。

    55210发布于 2018-12-11
  • 来自专栏烟草的香味

    函数编程

    当然, 对函数编程也有所耳闻, 但也仅仅是有所耳闻, 从来没有上手写过. 最近没事的时候就找些资料看看, 同时也尝试自己写一些函数编程思想的代码. 以下简单总结一下我最近对函数编程的体验. 最开始, 我以为将面向对象中的类为基本单位, 换成函数为基本单位, 就是函数编程了, 结果发现, 这只能说明我还是在使用面向对象的思想. 那么什么是函数编程呢? 看到函数这个名字, 最先想到的就是初中的数学了: f(x)=2x. 这是一个一元一次函数. 针对我对于函数编程的使用来看, 总结函数编程的几个特点, 可能并不全面: 管道操作. 可以将数据通过依次流过各个管道, 将各种简单的操作整合为一个复杂的操作. 将函数作为头等对象 延迟处理. 此外, 函数编程不止以上内容, 这段时间只是简单的尝试

    1.4K30发布于 2021-04-28
  • 来自专栏自动化、性能测试

    Mysql 常用函数10)- strcmp 函数

    Mysql常用函数的汇总,可看下面文章 https://www.cnblogs.com/poloyy/p/12890763.html strcmp 的作用 比较两个字符串的顺序是否完全一致 注意:完全一致的意思是字符串里的每个字符

    87920发布于 2020-06-09
  • 来自专栏Web 技术

    【基于JS 函数编程 -1】什么是函数编程 | 纯函数 | 命令与声明 | 优点

    什么是函数编程 引入 概念 我们知道,在数学中,函数可以有如下形式: f(X) = Y ,即一个函数f ,以X作参数,返回输出结果Y。 ,函数编程是一种范式,其能够创建仅依赖输入就可以完成自身逻辑的函数。 因为,具有引用透明性的函数,只能依赖来自参数的输入,我们可以轻松地用多线程运行这样的代码,没有任何锁机制。 编程范式之 命令 与 声明 首先我们要理解什么是命令,什么是声明。 如何做的部分,将被抽象到普通函数(也称”高阶函数,如forEach()“)中。如下代码,我们使用声明方式改写上面的命令代码。 函数编程的优点 纯函数 大多数函数编程的好处来自编写纯函数。 定义: 对给定的输入返回相同的输出的函数

    54010编辑于 2023-10-07
  • 来自专栏weixuqin 的专栏

    函数接口

    函数接口 1. 函数接口定义 一个接口有且只有一个抽象方法。 函数接口的实例可以通过 lambda 表达式、方法引用或者构造方法引用来创建。 注意: 如果一个接口只有一个抽象方法,那么该接口就是一个函数接口 如果我们在某个接口上声明了 @FunctionalInterface 注解,那么编译器就会按照函数接口的定义来要求该接口 函数接口应满足 如果某个接口只有一个抽象方法,但我们并没有给该接口声明 @FunctionalInterface 注解,那么编译器依旧会将该接口看作是函数接口 重写 Object 类里的方法不会导致函数接口失效 ​ 如果一个接口声明了抽象方法,但该抽象方法重写了 Object 类里的一个公有方法,那么对于 Java 编译器来说,它并不会认为该方法符合函数接口的抽象方法(即不把该方法当作函数接口的抽象方法)。 因为接口的实现类都会直接或间接继承 Object 这个根类,所以在函数接口中定义与 Object 类中签名一样的方法是不会导致函数接口失效的。

    73420发布于 2019-09-10
  • 来自专栏D·技术专栏

    函数编程

    什么是函数编程 函数编程是一种编程范式,是一种如何编写程序的方法论。 举个简单例子: int a =10; int b = 15; int c = 2; int sum = a + b; int quadrature = sum * c; 这样的方式属于命令编程,关心的是解决问题的步骤 函数编程 Math.multiplyExact(Math.addExact(a,b),c); 特点: 函数是“一等公民” 函数是和其他数据类型一样可以赋值给变量,可以作为方法参数,返回值。 没有副作用 不修改状态 引用透明 优点: 1、减少键盘的开销 2、便于理解 —— 例如:merge([1,2],[3,4]).sort().search("2") 3、方便单元测试 ——针对函数不涉及外部状态变化 4、不用考虑死锁的问题 —— 不修改变量 Java8 新增的函数接口 分四种: 先看下源码的介绍 Function 接收一个T类型参数,返回R类型。

    1.1K11发布于 2019-12-23
  • 来自专栏房东的猫

    函数接口

    简介 所谓的函数接口,实际上就是接口里面只能有一个抽象方法的接口。Comparator接口就是一个典型的函数接口,它只有一个抽象方法compare。 允许定义默认defalut非抽象方法(default方法也是java8才有的); 允许java.lang.Object中的public方法; FunctionInterface注解不是必须的,如果一个接口符合"函数接口 如果编写的不是函数接口,但是加上了@FunctionInterface,那么编译器会报错; 甚至可以说:函数接口是专门为lambda表达式准备的,lambda表达式是只实现接口中唯一的抽象方法的匿名实现类 JDK中的函数接口举例: java.lang.Runnable, java.util.Comparator, java.util.concurrent.Callable java.util.function 包下的接口,如Consumer、Predicate、Supplier等 函数接口 默认方法通过实例调用;静态方法通过接口名调用。

    92610发布于 2021-08-15
  • 来自专栏全栈程序员必看

    函数接口

    函数接口的概念&定义 package com.itheima.demo1.FunctionalInterface; /* 函数接口:有且只有一个抽象方法的接口,称之为函数接口 当然接口中可以包含其他的方法 public interface MyFunctionalInterface { //定义一个抽象方法 public abstract void method(); } 函数接口的使用 package com.itheima.demo1.FunctionalInterface; /* 函数接口的使用:一般可以作为方法的参数和返回值类型 */ public class Demo { //定义一个方法,参数使用函数接口MyFunctionalInterface public static void show(MyFunctionalInterface myInter "); } } 常用的函数接口_Function接口练习_自定义函数模型拼接 package com.itheima.demo07.Function; import java.util.function.Function

    76920发布于 2021-05-20
  • 来自专栏四火的唠叨

    函数编程

    函数编程已经有比较长的历史了,如今的动态语言,很大程度上也受到了函数编程(反过来名叫命令编程)的启发。 在函数编程语言中,当你写了一个函数,接受一些参数,那么当你调用这个函数时,影响函数调用的只可能是你传进去的参数,而你得到的也只能够是计算结果。因此,一个 void 的方法,是没有任何意义的。 在函数编程中访问状态是十分安全的,因为状态不会改变,我可以把一个 Point 或 List 对象交给任意多的地方去访问,完全不用担心副作用。 函数编程的十分容易并行,因为我在运行时不会修改状态,因此无论多少线程在运行时都可以观察到正确的状态。两个函数完全无关,因此它们是并行还是顺序地执行便没有什么区别了。 我们还可以有延迟计算,可以进行 Memorization,经常使用递归作为控制流,这些都是函数编程中十分有趣的方面。

    93911编辑于 2022-07-15
  • 函数接口

    1、函数接口的概念函数接口在java中是指:有且仅有一个抽象方法的接口,当然接口中也可以包含其他的方法(默认,静态,私有)。 函数接口的定义:csharp 体验AI代码助手 代码解读复制代码@FunctionalInterfacepublic interface MyFunctionalInterface { //定义一个抽象方法 @FunctionalInterface可以检测接口是否为函数接口(是编译成功;否编译失败-接口中没有抽象方法或抽象方法个数多于一个)。 MessageBuilder中的方法, * 才会进行字符串的拼接 */ showLog(1, ()-> msg1 + msg2 + msg3); }}2.3、函数接口作为函数的参数案例假设有一个 可以传递lambda表达式 startThread(()-> System.out.println(Thread.currentThread().getName())); }}2.4、函数接口作为函数的返回值案例如果一个方法的返回值类型是一个函数接口

    36210编辑于 2025-06-18
  • 来自专栏前端学习文档

    函数编程

    source=cloudtencent 什么是函数编程? 函数编程(Functional Programming, FP)就是利用纯函数实现细粒度的函数,然后再通过函数的组合把细粒度的函数组合成功能更强大的函数函数编程中的 "函数" 不是程序中的函数(方法),而是数学中的函数(映射关系),例如 y=sin(x) 中 x 和 y 的关系,函数编程用来描述数据之间的映射。 函数编程 把现实世界中的事物和事物之间的联系抽象到程序世界,对运算过程进行抽象。 基础案例 非函数编程 const num1 = 2 const num2 = 3 const sum = num1 + num2 函数编程 function add(num1, num2) {

    63501编辑于 2023-05-30
  • 来自专栏秋落雨微凉Java开发栏

    函数接口

    函数接口 函数接口:有且仅有一个抽象方法的接口 Java中的函数编程体现就是Lambda表达式,所以函数接口就是用于Lambda使用的接口 只有确保接口中有且仅有一个抽象方法,Java中的Lambda 才能顺利推导 如何检验接口是否是函数接口: @FunctionalIneterface 放于接口的上方:如果接口是函数接口,编译通过;如果不是,编译失败 下面给出示例代码: public class "); }; //直接调用方法,方法是由lambda标注的 my.show(); } } //函数接口标记 @FunctionalInterface (Runnable r):方法参数是Runnable函数接口 main():调用startThread方法 下面给出代码示例: public class RunnableDemo { public 8,(String s) -> s.length()>3)); System.out.println(orTest("Jerry",(String s) -> s.length()>10

    58910编辑于 2022-10-25
领券