使用神语法
scala> val a = Array(20, 12, 6, 15, 2, 9)
1
2
3
4
5
6
7
8
|
scala> a.reduceLeft( _ + _ ) // 数组求和
res 0 : Int = 64
scala> a.reduceLeft( _ * _ ) // 数组求乘积
res 1 : Int = 388800
scala> a.reduceLeft( _ min _ ) // 数组求最小值
res 2 : Int = 2
scala> a.reduceLeft( _ max _ ) // 数组求最大值
res 3 : Int = 20
|
使用函数
自定义函数实现数组求最大值功能
1
2
3
4
|
scala> val a = Array( 20 , 12 , 6 , 15 , 2 , 9 )
scala> val f = (x : Int, y : Int) = > x max y
scala> a.reduceLeft(f) res 0 : Int = 20
|
实现原理
第一、第二个数的比较结果再与第三个数进行比较,以此类推。x为上一次结果,y为本次比较数值
参考:http://alvinalexander.com/scala/scala-reduceleft-examples
--end
相关推荐
然而,Notepad++默认并未内置Scala语言的语法高亮支持,这可能会对Scala开发者造成一些不便。本文将详细介绍如何在Notepad++中设置Scala的语法高亮,并提供详细的使用说明。 首先,我们需要获取Scala的语法高亮文件...
Scala提供了一个交互式的命令行工具——`scala`命令,允许开发者直接运行Scala代码片段,进行测试和调试。只需在终端输入`scala`,即可启动解释器。在这里,你可以立即看到代码执行的结果,这对于学习和理解新概念...
【课程大纲】第1讲-Spark的前世今生 共12页第2讲-课程介绍、特色与价值 共13页第3讲-Scala编程详解:基础语法 共8页第4讲-Scala编程详解:条件控制与循环 共7页第5讲-Scala编程详解:函数入门 共5页第6讲-Scala编程...
虽然Scala是基于Java的,但Scala提供了一套与Java不同的语法和类库,这要求学习Scala的开发者了解其与Java的相同点和不同点。 为了使用Scala进行开发,需要进行环境搭建。这包括安装Java开发工具包(JDK)版本1.8或...
Scala 高级特性 Scala 是一个多-paradigm programming language,它结合了面向对象和函数式编程的特性。在这个主题中,我们将深入探讨 Scala 的高级特性,包括高阶函数和隐式转换。 高阶函数 高阶函数是 Scala ...
高级语法部分包含了Scala中的隐式转换和隐式参数,这是Scala语言中为了代码复用和抽象而提供的一种特性。数据结构章节介绍了Scala的集合类型,包括数组、元组、列表、队列、映射(Map)、和Set集合。集合操作部分...
- **诞生历史**:Scala起源于瑞士联邦理工学院洛桑(EPFL),由Martin Odersky在2001年开始设计,其灵感来源于Funnel——一种结合了函数式编程思想与Petri网的编程语言。Odersky之前还参与开发了Generic Java以及Sun...
### Scala高级编程及实例...以上就是《Scala高级编程及实例》的主要知识点概述,涵盖了Scala的基础语法、高级特性以及并发编程等多个方面。通过对这些内容的学习,读者可以全面掌握Scala编程,并能够应用于实际项目中。
此文档是scala的语法大全,一共分为22章,控制结构,特质,高阶函数,集合,模式匹配,样例类,解析,actor等都包括在内。
现在,你已经成功在IntelliJ IDEA中配置了Scala开发环境,可以创建新的Scala类或对象,享受到IDEA提供的智能代码补全、语法高亮、错误检查等强大功能。 ### IDEA与Scala的协同工作特性 1. **代码提示和自动完成**...
《Scala语言规范 2.7版》是Scala的官方文档之一,它详细阐述了Scala的语法结构、类型系统、控制结构、类和对象的定义、模式匹配、函数和闭包等核心概念。在2.7版本中,Scala引入了若干创新特性,例如: 1. **类型...
项目概述:邮电学院Scala大数据实时处理——基于Lambda架构的Spark源码实践 本项目为邮电学院假期师资培训的成果,主要采用Scala语言开发,围绕Lambda架构构建了一套实时数据流处理系统。项目包含35个文件,其中...