博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
内建控制结构之变量范围
阅读量:6274 次
发布时间:2019-06-22

本文共 502 字,大约阅读时间需要 1 分钟。

  hot3.png

如果你是java程序员,你会发现scala的范围规则几乎是java的翻版。然而,两者之间仍然有一个差别scala允许在嵌套范围内定义同名变量

Scala程序里所有的变量定义都存在有效作用范围。最常见的情况是:花括号通常引入了新的作用范围,所以任何定义在花括号里的东西超出括号之后就脱离了范围(注:这条规则有几个例外,因为在scala里有时候可以用花括号代替小括号。For表达式的可选语法是这种用法的一个例子)。如例:

160440_H5Bl_168814.jpg

结果:

160545_Ae77_168814.jpg

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

160749_RzqY_168814.jpg

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

160949_WGRl_168814.jpg

结果:

161033_06Wl_168814.jpg

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

转载于:https://my.oschina.net/fhd/blog/275926

你可能感兴趣的文章
Selenium 自动登录考勤系统
查看>>
关于如何以编程的方式执行TestNG
查看>>
智能照明造福千家万户 家居智能不再是梦
查看>>
物联网如何跳出“看起来很美”?
查看>>
浅谈MySQL 数据库性能优化
查看>>
拥抱白帽黑客,通用宣布安全漏洞报告项目
查看>>
《UNIX/Linux 系统管理技术手册(第四版)》——1.10 其他的权威文档
查看>>
灵动空间 创享生活
查看>>
《UNIX网络编程 卷1:套接字联网API(第3版)》——8.6 UDP回射客户程序:dg_cli函数...
查看>>
不要将时间浪费到编写完美代码上
查看>>
《第一桶金怎么赚——淘宝开店创业致富一册通》一一第1章 创业梦想,怎样起步...
查看>>
基于容器服务的持续集成与云端交付(三)- 从零搭建持续交付系统
查看>>
《算法基础:打开算法之门》一3.4 归并排序
查看>>
高德开放平台开放源代码 鼓励开发者创新
查看>>
《高并发Oracle数据库系统的架构与设计》一2.5 索引维护
查看>>
《Exchange Server 2010 SP1/SP2管理实践》——2.4 部署外部网络环境
查看>>
Firefox 是 Pwn2own 2014 上攻陷次数最多的浏览器
查看>>
《Java多线程编程核心技术》——1.8节暂停线程
查看>>
阿里感悟(十八)- 应届生Review
查看>>
《计算广告:互联网商业变现的市场与技术》一第一部分 在线广告市场与背景...
查看>>