文档章节

内建控制结构之变量范围

柳哥
 柳哥
发布于 2014/06/07 16:11
字数 379
阅读 37
收藏 0

如果你是java程序员,你会发现scala的范围规则几乎是java的翻版。然而,两者之间仍然有一个差别scala允许在嵌套范围内定义同名变量
Scala程序里所有的变量定义都存在有效作用范围。最常见的情况是:花括号通常引入了新的作用范围,所以任何定义在花括号里的东西超出括号之后就脱离了范围(注:这条规则有几个例外,因为在scala里有时候可以用花括号代替小括号。For表达式的可选语法是这种用法的一个例子)。如例:


结果:


本例中定义的所有变量----i,j,prod,k----都是本地变量,也就是对于定义它们的函数来说是“局部”的。每次函数被调用的时候都会使用一整套全新的本地变量。一旦变量被定义了,在同一个范围内就无法定义同样的变量名了。如例:


然而,你可以在内部范围内定义与外部范围里的变量名相同的变量。如:


结果:


Scala和java间要注意的差异是java不允许在内部范围内创建与外部范围变量同名的变量。在scala程序里,内部变量被认为遮蔽了同名的外部变量,因为在内部范围中外部变量变得不可见

© 著作权归作者所有

共有 人打赏支持
柳哥
粉丝 206
博文 405
码字总数 347782
作品 0
杭州
技术主管
私信 提问
《JavaScript DOM 编程艺术》第2章:函数与对象

《JavaScript学徒》系列会以经典书籍为教材制作影片,和大家一起学习JavaScript。 本文同步发表于我的个人网站:ZackLive 这是《JavaScript学徒》系列的第三课,本课会继续《JavaScript DOM ...

ZackLive
08/30
0
0
OpenGL超级宝典笔记——GLSL语言基础

变量 GLSL的变量命名方式与C语言类似。变量的名称可以使用字母,数字以及下划线,但变量名不能以数字开头,还有变量名不能以gl_作为前缀,这个是GLSL保留的前缀,用于GLSL的内部变量。当然还...

Mario_Q
2014/03/13
0
2
freemarker语法介绍及其入门

FreeMarker标签使用 一、FreeMarker模板文件主要有4个部分组成 1、文本,直接输出的部分 2、注释,即<#--...-->格式不会输出 3、插值(Interpolation):即${..}或者#{..}格式的部分,将使用数...

wersdffg
2014/09/30
0
0
ParisGabriel:Python全栈工程师(0基础到精通)教程 第十五课(函数嵌套、变量作用域)

ParisGabriel 感谢 大家的支持                      每天坚持 一天一篇 点个订阅吧 灰常感谢 当个死粉也阔以                       Python人工智...

ParisGabriel
07/13
0
0
Python全栈工程师(函数嵌套、变量作用域)

ParisGabriel 感谢 大家的支持                      每天坚持 一天一篇 点个订阅吧 灰常感谢 当个死粉也阔以                       Python人工智...

巴黎香榭
07/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

盘点愚人节各大网站彩蛋,谁最爱恶搞?

如今的愚人节俨然已是各品牌宣传了一个重要节日,同时,也成为了各大互联网科技企业凑热闹,比拼创意和策划的节日。跟小编一起看看有哪些有趣的策划吧! Google地图变成吃豆人游戏 每年愚人节...

临江仙卜算子
19分钟前
0
0
Java7/8 中的 HashMap 和 ConcurrentHashMap 全解析

本文分析的是源码,所以至少读者要熟悉它们的接口使用,同时,对于并发,读者至少要知道 CAS、ReentrantLock、UNSAFE 操作这几个基本的知识,文中不会对这些知识进行介绍。Java8 用到了红黑树...

java菜分享
19分钟前
0
0
玩手机与做实验

看过这样一个故事:说的是在二十世纪二十年代初的一个深夜,担任英国剑桥大学卡文迪许实验室主任的卢瑟福来实验室检查,发现一位学生还在做实验。卢瑟福就问他:“你上午做什么了?”学生回答...

Bob2100
53分钟前
4
0
Kafka流式处理

Kafka Streams 初识流式处理 什么是数据流 数据流(也叫事件流)是无边界数据集的抽象表示。无边界意味着无限和持续增长。无边界数据集之所以是无限的,是因为随着时间的推移,新记录会不断加...

东都大狼狗
今天
8
0
Mysql主从复制(拓展博客文章扩充知识面)

#不停库不锁表在线主从配置 使用 Xtrabackup 在线对MySQL做主从复制 1.数据量大的话还是建议使用工具例如xtrabackup,mysqldump比较适合操作10G以下的数据备份复制。 2.做业务之前考虑清楚具...

robertt15
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部