文档章节

内建控制结构之变量范围

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

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


结果:


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


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


结果:


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

© 著作权归作者所有

共有 人打赏支持
柳哥
粉丝 203
博文 405
码字总数 347782
作品 0
杭州
技术主管
OpenGL超级宝典笔记——GLSL语言基础

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

Mario_Q
2014/03/13
0
2
OpenGL ES着色器语言之变量和数据类型(一)(官方文档第四章)

原文链接: http://blog.csdn.net/wangyuchun799/article/details/7744620#t18 目录(?)[-] 1 基本数据类型 11 void 12 Booleans 13 Integers 14 Floats 15 Vectors 16 Matrices 17 Sampler ......

aspirs
2016/02/01
44
0
ParisGabriel:Python全栈工程师(0基础到精通)教程 第十五课(函数嵌套、变量作用域)

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

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

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

巴黎香榭
07/13
0
0
浅谈OceanBase数据结构

OceanBase数据分为基线数据和增量数据两个部分,基线数据分布在多台ChunkServer上,增量数据全部存放在一台UpdateServer上。如下图所示,系统中有5个子表,每个子表有3个副本,所有的子表分布...

凌洛
07/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

kernel version does not match DSO version

错误信息: kernel version 384.11 does not match DSO version 384.130.0 原因是: cuda driver版本太低,不匹配DSO 简单有效的修复方法,升级nvidia driver, 步骤如下: 1. google seach ...

刘小米
今天
0
0
maven坐标和依赖

一、maven坐标详解 <groupId>com.fgt.club</groupId><artifactId>club-common-service-facade</artifactId><version>3.0.0</version><packaging>jar</packaging> maven的坐标元素说......

老韭菜
今天
1
0
springmvc-servlet.xml配置表功能解释

问:<?xml version="1.0" encoding="UTF-8" ?> 答: xml version="1.0"表示是此xml文件的版本是1.0 encoding="UTF-8"表示此文件的编码方式是UTF-8 问:<!DOCTYPE beans PUBLIC "-//SPRING//......

隐士族隐逸
今天
1
0
基于TP5的微信的公众号获取登录用户信息

之前讲过微信的公众号自动登录的菜单配置,这次记录一下在TP5项目中获取自动登录的用户信息并存到数据库的操作 基本的流程为:微信设置自动登录的菜单—>访问的URL指定的函数里获取用户信息—...

月夜中徘徊
今天
0
0
youTrack

package jetbrains.teamsys.license.runtime; 计算lis package jetbrains.ring.license.reader; 验证lis 安装后先不要生成lis,要把相关文件进行替换 ring-license-checker-1.0.41.jar char......

max佩恩
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部