Scala高阶函数 2(以函数作为返回值,函数柯里化,应用函数)
package com.wyh.day01
object ScalaFun4 {
def main(args: Array[String]): Unit = {
/**
* 以函数作为返回值
*/
def A(s: String): String => String = {
def B(s1: String): String = {
s + "\t" + s1
}
B
}
println(A("Java")("BigData"))
println("=" * 100)
/**
* 函数柯里化
*/
def A1(s: String)(s1: String): String = {
s + "函数柯里化" + s1
}
println(A1("java")("spark"))
println("=" * 100)
/**
* 应用函数
*/
def C(s1: String, s2: String): String = {
s1 + "应用函数" + s2
}
println(C("Java", "spark"))
println(C("Java", "hadoop"))
println(C("Java", "Hbase"))
println("=" * 100)
val function = C("Java", _: String)
println(function("Hive"))
println(function("HDFS"))
println(function("mapreduce"))
}
}
Scala高阶函数 2(以函数作为返回值,函数柯里化,应用函数)的更多相关文章
- 浅析 JavaScript 中的 函数 currying 柯里化
原文:浅析 JavaScript 中的 函数 currying 柯里化 何为Curry化/柯里化? curry化来源与数学家 Haskell Curry的名字 (编程语言 Haskell也是以他的名字 ...
- JavaScript之函数柯里化
什么是柯里化(currying)? 维基百科中的解释是:柯里化是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术.意思就是当函 ...
- 理解运用JS的闭包、高阶函数、柯里化
JS的闭包,是一个谈论得比较多的话题了,不过细细想来,有些人还是理不清闭包的概念定义以及相关的特性. 这里就整理一些,做个总结. 一.闭包 1. 闭包的概念 闭包与执行上下文.环境.作用域息息相关 执 ...
- JS高阶函数与函数柯里化
高阶函数 满足下列条件之一的函数: 函数作为参数被传递(如回调函数): 函数可以作为返回值输出: 一些内置高阶函数的例子: Array.prototype.map map()方法通过调用对输入数组中的 ...
- JS的闭包、高阶函数、柯里化
本文原链接:https://cloud.tencent.com/developer/article/1326958 https://cloud.tencent.com/developer/articl ...
- Java函数式编程:二、高阶函数,闭包,函数组合以及柯里化
承接上文:Java函数式编程:一.函数式接口,lambda表达式和方法引用 这次来聊聊函数式编程中其他的几个比较重要的概念和技术,从而使得我们能更深刻的掌握Java中的函数式编程. 本篇博客主要聊聊以 ...
- js高阶函数应用—函数柯里化和反柯里化(二)
第上一篇文章中我们介绍了函数柯里化,顺带提到了偏函数,接下来我们继续话题,进入今天的主题-函数的反柯里化. 在上一篇文章中柯里化函数你可能需要去敲许多代码,理解很多代码逻辑,不过这一节我们讨论的反科里 ...
- Scala 学习之路(十)—— 函数 & 闭包 & 柯里化
一.函数 1.1 函数与方法 Scala中函数与方法的区别非常小,如果函数作为某个对象的成员,这样的函数被称为方法,否则就是一个正常的函数. // 定义方法 def multi1(x:Int) = { ...
- Scala 系列(十)—— 函数 & 闭包 & 柯里化
一.函数 1.1 函数与方法 Scala 中函数与方法的区别非常小,如果函数作为某个对象的成员,这样的函数被称为方法,否则就是一个正常的函数. // 定义方法 def multi1(x:Int) = ...
- JavaScript函数柯里化的一些思考
1. 高阶函数的坑 在学习柯里化之前,我们首先来看下面一段代码: var f1 = function(x){ return f(x); }; f1(x); 很多同学都能看出来,这些写是非常傻的,因为函 ...
随机推荐
- JAVA开发规范v1.0
01-中铜国贸JAVA开发规范v1.0 一.编程规约 (一)命名风格 [强制]代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束. 反例:_name / _name / $Obje ...
- 06C++顺序结构与程序IPO模式
一.程序IPO模式 编程 IPO 是指输入.处理和输出(Input, Process, Output)的概念.在计算机编程中,IPO 是一种常用的设计模式,用于描述程序的基本流程.具体来说,IPO 指 ...
- 云消息队列备份 | CKafka、TDMQ 消息队列数据备份到 COS
前言 随着业务规模的不断扩大,企业越来越重视构建高性能.高可用的大型分布式系统.为了解决应用耦合,合理进行流量削锋,腾讯云提供了包括 CKafka 和 TDMQ 在内的一系列消息队列中间件.为了更方便 ...
- TokenService
https://github.com/ng-alain/delon/blob/master/packages/auth/src/token/token.service.ts set(data: ITo ...
- 【Python】【Matplotlib】词云图
关于从网页获取文本 import requests from bs4 import BeautifulSoup code = requests.request("post",&qu ...
- 【转载】 SpringBoot声明式事务的简单运用
https://blog.csdn.net/justry_deng/article/details/80828180 关于事物的基本概念等这里就不介绍了. Spring声明式事物的实现,有两种方式:第 ...
- python 根据中文表头标题抓取动态(表格)文档数据
思路 如图左侧表头标题,要获得右侧数据.网页数据提取成汉字,表格数据间会有空格,用split()分隔成list.用index()查找某个汉字表头位置,输出list下一个位置既是要得到值 text2 = ...
- Qt音视频开发27-Onvif设备搜索
一.前言 最近业余时间主要研究音视频开发这块,前面的文章写了好多种视频监控内核,一旦将这些内核搞定以后,视频监控的相关功能水到渠成.做视频监控系统,绕不过onvif这玩意,这玩意主要就是为了统一一个大 ...
- Qt编写安防视频监控系统29-掉线重连
一.前言 掉线重连在很早很早以前就做了,基本上的方法都是搞个变量存储最后收到图片的时间,然后开个定时器判断,如果不在暂停模式下,当前时间和最后收到图片的时间差值超过了设定的超时时间,比如5s则认为掉线 ...
- SpringBoot原理深入及源码剖析(二) 自定义Starter及SpringBoot执行原理
自定义Starter SpringBoot starter机制 SpringBoot由众多starter组成(一系列的自动化配置的starter插件),SpringBoot之所以流行,也是因为star ...