函数式编程 -- 测试题集
文章内容输出来源:拉勾教育 大前端高薪训练营
- 下面关于函数式编程的说法错误的是:(多选题)
A. 函数式编程是一种编程范式,跟面向对象编程是并列关系
B. 函数式编程可以很大程度上让代码可以重用
C. 函数式编程可以很大程度上提高程序的性能
D. 函数式编程中的函数是程序中的函数或者方法
- 答案解析 – CD
C 选项函数式编程不能提高程序的性能,因为大量使用闭包在某种程度上会降低性能(占用内存)
D 函数式编程中的函数不是程序中的函数或者方法,而是数学中的函数
- 函数是一等公民包括:(多选题)
A. 函数可以存储在变量中
B. 函数可以作为参数
C. 函数可以作为返回值
D. 函数可以递归调用
- 答案解析 – ABC
MDN 中关于头等函数(函数是一等公民)的解释只包含前三点
- 下面关于纯函数的说法错误的是:(单选题)
A. 纯函数对于相同的输入永远会得到相同的输出
B. 纯函数中的函数指的是数学中的函数
C. 副作用会让一个函数变得不纯
D. 可以通过某种方式避免副作用的发生
- 答案解析 – D
副作用会让一个函数变得不纯,副作用不可能避免,因为代码难免会依赖外部的配置文件、数据库等,
只能最大程度上控制副作用在可控的范围内发生
- 关于柯里化的描述正确的是:(多选题)
A. 柯里化函数 curry ,也是高阶函数
B. 柯里化函数 curry 内部用到了闭包,对函数的参数做了 “缓存”
C. 柯里化可以把多个参数的函数转换成只有一个参数的函数,通过组合产生功能更强大的函数
D. 柯里化让函数变得更灵活,让函数的粒度更小
- 答案解析 – ABCD
- 关于函数组合说法正确的是:(多选题)
A. 函数可以看做一个处理数据的管道,管道中输入参数 x,在管道中对数据处理后得到结果 y
B. 通过函数组合可以把多个一元函数组合成一个功能更强大的函数
C. 函数组合需要满足结合律
D. 函数组合默认的执行顺序是从右到左
- 答案解析 – ABCD
- 关于函子的说法正确的是:(多选题)
A. 函子是一个特殊的容器(对象),这个容器内部封装一个值,通过 map 传递一个函数对值进行处理
B. MayBe 函子的作用是处理外部的空值情况,防止空值的异常
C. IO 函子内部封装的值是一个函数,把不纯的操作封装到这个函数,不纯的操作交给调用者处理
D. Monad 函子内部封装的值是一个函数(这个函数返回函子),目的是通过 join 方法避免函子嵌套
- 答案解析 – ABCD
函数式编程 -- 测试题集相关推荐
- java函数式编程及集合流操作
函数式编程及集合流操作 一. 单选题(共2题,16.6分) 1. (单选题)函数式编程是 A. 一种编程语言 B. 一种程序设计思想 C. 面向对象程序设计的一种实现 D. Java操作集合的工具框架 ...
- Java 函数式编程合集
前言 很多编程语言可以把函数当作参数进行传递,例如js中事件触发后的函数调用.C语言中的函数指针,都可以完成函数的传递.但是在Java里一直没有一个传函数的标准,直到jdk8开始,有了函数传递的一套规 ...
- JAVA学习 API_day11(属性集, 函数式编程, stream流)
属性集, 函数式编程, stream流 I/O流小结 1. 属性集 2. 函数式编程 3. stream流 I/O流小结 文件复制: BufferedInputStream/BufferedOutpu ...
- 写 Python 代码不可不知的函数式编程技术
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|深度学习这件小事 本文对 Python 中的函数式编程技 ...
- java stream 取某个字段_java8的函数式编程和stream使用心得
1:函数式编程 在很多其他的编程语言里面,都可以实现函数式的编程,也就是函数可以作为变量去灵活使用,但是java一直都不可以,之前很多都使用一些匿名内部类这种丑的亚批的代码.java8之后算是可以使用 ...
- 函数式编程语言python-写 Python 代码不可不知的函数式编程技术
近来,越来越多人使用函数式编程(functional programming).因此,很多传统的命令式语言(如 Java 和 Python)开始支持函数式编程技术.本文对 Python 中的函数式编程 ...
- python函数式编程读取数据时出现错误_写 Python 代码不可不知的函数式编程技术...
原标题:写 Python 代码不可不知的函数式编程技术 选自 Medium 作者:Raivat Shah 参与:魔王.Jamin 本文对 Python 中的函数式编程技术进行了简单的入门介绍. 近来, ...
- Scala 中的函数式编程基础
主要来自 Scala 语言发明人 Martin Odersky 教授的 Coursera 课程 <Functional Programming Principles in Scala>. ...
- 【Java10】lambda表达式(函数式编程),Stream流,File类,字节/字符流,乱码,缓冲/转换/序列化/打印流,Properties
文章目录 1.lambda表达式标准语法:()->{} 2.lambda表达式简略语法:可推导即可省略 3.lambda表达式原理:lambda效率比匿名内部类高 4.两个函数式接口:Consu ...
最新文章
- Android HttpClient post MultipartEntity - Android 上传文件
- 饿了么监控平台的架构设计与演进历程
- FLP不可能性(FLP impossibility)
- SAP UI5 Dialog wrong location
- 树莓派安装Ubuntu MATE及ROS系统
- 作一个真正合格的飞秋局域网聊天
- SpringCloud微服务注册调用入门教程
- 金色金箔高品质纹理素材,将在你的下一个设计项目中被使用。
- [转]微服务轮子项目(27) -MySQL 主从复制、主从切换、主主复制
- poj 2922 Honeymoon Hike
- 黑科技神器-uTools
- 小米手机用什么蓝牙耳机好?高颜值游戏专属蓝牙耳机推荐
- LVM -逻辑卷管理
- RHCE考试分开三个阶段
- Python函数和面向对象,小白看了都说好
- “学习金字塔”理论的一个应用
- 如何安装linux安装光盘中的软件包
- 教你如何对产品做AB测试(abtest)
- MSP430单片机GPIO编程入门教程
- 使用scrapy 框架来抓取100部美剧的信息