Scala:First Steps in Scala

var and val

简单来说,val声明的变量可以重新修改其引用,val则不行,见下面的例子:

 1 def max(x: Int, y: Int): Int = {
 2   if(x > y) x else y 
 3 }
 4 
 5 def max(x: Int, y: Int): Int =  if(x > y) x else y 
 6 
 7 var list = Array(1, 2, 3)
 8 list.foreach(x => println(x))
 9 
10 for(x <- list) {
11   println(x)
12 }
13 
14 def test(fun: (Int, Int) => Unit): Unit = {
15   fun(5, 6)
16 }
17 
18 def printlnXY(x: Int, y: Int): Unit = {
19   println(x)
20   println(y)
21 }
22 
23 test(printlnXY)
24 
25 test((x, y) => {
26   println(x)
27   println(y)
28 })

采用后缀类型声明法的原因是Scala支持类型推断,这样后面的类型声明在大多数情况下是可以忽略的。

Define some function

基本语法

1 def max(x: Int, y: Int): Int = {
2   if(x > y) x else y 
3 }

如果方法只包含一行代码,则可以这样写:

1 def max(x: Int, y: Int): Int =  if(x > y) x else y 

Iterate with foreach and for

1 var list = Array(1, 2, 3)
2 list.foreach(x => println(x))

语法感觉非常亲切(类似C#)。有点委托、匿名方法和Lamda表达式的味道。

 1 def test(fun: (Int, Int) => Unit): Unit = {
 2   fun(5, 6)
 3 }
 4 
 5 def printlnXY(x: Int, y: Int): Unit = {
 6   println(x)
 7   println(y)
 8 }
 9 
10 test(printlnXY)
11 
12 test((x, y) => {
13   println(x)
14   println(y)
15 })

 

转载于:https://www.cnblogs.com/happyframework/p/4199286.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/292149.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CIDR

CIDR&#xff08;无类别域间路由&#xff0c;Classless Inter-Domain Routing&#xff09;是一个在Internet上创建附加地址的方法&#xff0c;这些地址提供给服务提供商&#xff08;ISP&#xff09;&#xff0c;再由ISP分配给客户。CIDR将路由集中起来&#xff0c;使一个IP地址…

电脑怎么测试硬盘的读写速度_两块硬盘合二为一,电脑读写翻倍?这样的“好事”你必须得了解...

近日&#xff0c;技嘉在旗下顶级的B550 AORUS MASTER主板上做了一次PCIe4.0固态阵列测试&#xff0c;由于该款主板支持3个PCIe4.0的M.2固态硬盘&#xff0c;所以这次的测试为3块PCIe4.0固态组建RAID0&#xff0c;来进行读写测试。常见的PCIe3.0x4的固态硬盘的读写速度一般在250…

C# 动态创建控件时注册Name属性

动态创建控件1. 容器控件 .RegisterName("Name",要注册的控件) //注册控件2. 容器控件 .FindName("Name") as 控件类型 //找到控件并转换成相应类型注意仅通过控件.Name来设置是不能通过FindName来找到控件的&#xff0c;必须注册动态删除控件1. 容器控件…

3-07. 求前缀表达式的值(25) (ZJU_PAT数学)

题目链接&#xff1a;http://pat.zju.edu.cn/contests/ds/3-07 算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。前缀表达式指二元运算符位于两个运算数之前&#xff0c;比如23*(7-4)8/4的前缀表达式是&#xff1a; 2 * 3 - 7 4 / 8 4。请设计程序计算前缀表达式的结果…

linux之文件类型

1 、纯文本文件 这是Unix系统中最多的一种文件类型,之所以称为纯文本文件,是因为内容为我们可以直接读到的数据,例如数字、字母等等。设 置文件几乎都属于这种文件类型。举例来说,使用命令“cat ~/.bashrc”就可以看到该文件的内容 2、二进制文件 我们在GNU发展史中提过,…

java配置运行环境和配置

2019独角兽企业重金招聘Python工程师标准>>> 1&#xff1a;准备好下载的java。开始安装 2&#xff1a;第一次蹦出安装路径设置为&#xff08;D:\java\jdk&#xff09;。不要设置下图样式设置路径! 3:jdk安装完成后会再弹出如下窗口&#xff0c;让你选择独立的jre的安…

SQL Server 的锁定和阻塞

本帖提供两种做法&#xff0c;可避免在 SQL Server 事务锁定时产生的不正常或长时间阻塞&#xff0c;让用户和程序也无限期等待&#xff0c;甚至引起 connection pooling 连接数超过容量。 所谓的「阻塞」&#xff0c;是指当一个数据库会话中的事务&#xff0c;正在锁定其他会话…

结构体数组排列_学习RTOS(3)数据结构

在 FreeRTOS 中存在着大量的基础数据结构列表和列表项的操作&#xff0c;列表和列表项是直接从 FreeRTOS 源码注释中的 list 和 list item 翻译过来的&#xff0c;其实就是对应我们 C 语言当中的链表和节点&#xff0c;在后续的讲解&#xff0c;我们说的链表就是列表&#xff0…

python实现元旦多种炫酷高级倒计时_附源码【第20篇—python过元旦】

文章目录 &#x1f30d;python实现元旦倒计时 — 初级(控制台)⛅实现效果&#x1f30b;实现源码&#x1f31c;源码讲解 &#x1f30d;python实现元旦倒计时 — 中级(精美动态图)⛅实现效果&#x1f30b;实现源码&#x1f31c;源码讲解 &#x1f30d;python实现元旦倒计时 — 高…

.NET6之MiniAPI(十一):本地化

.net开发体系里&#xff0c;大部分本地化的实现都是用资源文件实现(.resx)&#xff0c;asp.net core中的多语Culture是指区域性的对象&#xff0c;而UICulture 该对象表示资源管理器在运行时查找区域性特定资源时所用的当前用户接口区域性。asp.net core实现也是通过添注入本地…

C#基础整理

元旦整理书架发现一本小册子——《C#精髓》中国出版社2001年出版的&#xff0c;粗略翻了下关于C#的知识点挺全的虽然内容谈得很浅也有很多过时的内容&#xff08;话说这本书是我在旧书店花5块钱淘的&#xff09;我保留原有章节并删减部分过时和不重要内容添加一些自己觉得重要的…

linux c之fdopen(int fd, const char *type)使用总结

1、fdopen(int fd, const char *type)的介绍 比如一写特殊文件不能用io打开,我们先要用open函数得到文件描述符,也就是这个fdopen函数的第一个参数,第二个参数是常量,不同类型不同意义,如下图 2、代码演示 #include<stdio.h> #include<fcntl.h>int main…

HTML form的一些属性(第一版)

HTML表单属性总结(第一版) 基本格式为:<input type"类型" name"名字[唯一,有的类型的同组是需要设置相同的名字]" value"值,类型不同的,他们的含义是不同的">. 例如:<input type"text" name"username" value"…

基于ASA防火墙的SSL ×××配置

基于ASA防火墙的SSL 配置实验拓扑图 实验目的&#xff0c;PC2通过SSL能够访问到PC1SSL服务端配置全在ASA上面&#xff0c;下面为配置步骤&#xff1a;第一步&#xff1a;建立RSA密钥证书&#xff0c;名称为ssl***keypaircrypto key generate rsa label ssl***keypair第二步&…

晚上去宾馆有什么是一定要带的?

1 前任垃圾袋&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼2 上一代摸鱼也是很厉害的&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼3 穿最帅最贵的衣服参加婚礼&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼4 去宾馆要带什么?&#xff08…

100以内素数之和python123_python质数,水仙花数,简单猜拳游戏等

找到所有两位的奇妙数&#xff1a;奇妙数。即一个整数等于其各位数字之和加上各位数字之积 例如 39 (39) (3*9)找到100以内所有的质数要用户从键盘输入任意整数&#xff0c;计算该整数的偶数个数&#xff0c;奇数个数和总位数。将这三个数字拼接成一个新的数字&#xff0c;并…

linux c之用fputc和fgetc复制文件并且打印在终端

1、fputs和fgetc相关函数解释 1、字符的输出 #include<stdio.h> int getc(FILE *fp) int fgetc(FILE *fp) int getchar(vaid) 3个函数若成功返回读入的字符值,若出错或则到末尾返回EOF,EOF为常量是-1 2、字符的输入 #include<stdio.h> int putc(int c, FILE *fp…

jQuery banner切换插件

今天学写了一个基于jQuery焦点图切换插件&#xff0c;有不对的地方还请多多指教&#xff0c;不多说下面是代码&#xff1a; 1、引jQuery库 <script src"http://code.jquery.com/jquery-1.11.1.min.js"></script> 2、Html部分 <!--Focus Html--> &l…