编辑“︁
Modula-3
”︁(章节)
跳转到导航
跳转到搜索
警告:
您没有登录。如果您进行任何编辑,您的IP地址会公开展示。如果您
登录
或
创建账号
,您的编辑会以您的用户名署名,此外还有其他益处。
反垃圾检查。
不要
加入这个!
===块与声明=== [[声明 (编程)|声明]]介入一个常量、类型、变量、例外或过程的一个名字。这个名字的[[作用域]]是包含这个声明的[[块 (编程)|块]]。一个块可以出现为一个模块或过程的本体,或一个块[[语句 (计算机科学)|语句]],[[Pascal语言|Pascal]]和[[Modula-2]]没有块语句<ref>{{cite web|title=Modula-2 Reference - Statements|url=https://www.modula2.org/reference/statements.php|access-date=2023-02-21|archive-date=2023-02-21|archive-url=https://web.archive.org/web/20230221111935/https://www.modula2.org/reference/statements.php|dead-url=no}}</ref>。一个块有如下形式: <syntaxhighlight lang="modula2"> Decls BEGIN S END </syntaxhighlight> 这里的<code>Decls</code>是成序列的声明,而<code>S</code>是一个语句,经常是顺序复合语句即成序列的语句,它是这个块的执行部份。这里的<code>Decls</code>与<code>S</code>在[[缩进风格|缩进]]上对齐,是因为在[[Pascal语言|Pascal]]语言家族中,可能含有嵌套过程声明的声明序列的位置相较于[[ALGOL 60]],从紧随在关键字<code>BEGIN</code>之后转移到了紧靠在其前面。一个块的声明可以介入一个名字最多一次,然而一个名字可以在嵌套的块中重新声明。在块中这些声明的次序,除了确定变量的初始化次序之外无关紧要。 一个Modula-3程序规定了一个计算,它作用在一序列的叫做[[記憶體位址|地点]](location)的数字元件之上。[[变量 (程序设计)|变量]]是地点的一个集合,它依据这个变量的[[类型系统|类型]]所确定的约定,表示一个数学上的{{le|值 (数学)|Value (mathematics)|值}}。如果一个值可以由类型<code>T</code>的某个变量来表示,则称谓这个值是<code>T</code>的一个成员,并且<code>T</code>包含这个值。 [[声明 (编程)|声明]]为一个[[变量 (程序设计)|变量]]、[[类型系统|类型]]、[[子程序|过程]]、{{le|常量 (计算机编程)|Constant (computer programming)|常量}}或[[例外处理 (编程)|例外]]指定一个被称为[[标识符 (计算机语言)|标识符]]的{{le|符号 (编程)|Symbol (programming)|符号}}作为名字。一个声明应用于其上的程序区域,叫做这个声明的[[作用域]]。作用域是可以嵌套的。一个标识符的含义,由这个标识符在其中声明的最小的包围作用域来确定。 [[类型系统|类型]]声明有如下形式:{{code|2="modula2"|1=TYPE T = U}},这里的<code>T</code>是一个标识符,而<code>U</code>是一个类型或类型表达式。在需要类型的各种地方,通常允许类型表达式。 [[变量 (程序设计)|变量]]声明有如下形式:{{code|2="modula2"|1=VAR id: T := E}},这里的<code>id</code>是一个标识符,<code>T</code>是除了开放数组之外的一个非空类型,而<code>E</code>是一个表达式。它声明了<code>id</code>是类型<code>T</code>的一个变量,其初始值是<code>E</code>的值。<code>:= E</code>和<code>: T</code>任何一个都可省略,但二者不能都省略。如果省略了<code>T</code>,它采用<code>E</code>的类型。如果省略了<code>E</code>,初始值是类型<code>T</code>的任意值。如果二者都存在,<code>E</code>必须可赋值给<code>T</code>。初始值是一种简写,等价于在随后的[[块 (编程)|块]]的可执行部份开始处插入赋值<code>id := E</code>,如果多个变量有初始值,按它们声明的次序插入它们的赋值。形式{{code|2="modula2"|1=VAR v_1, ..., v_n: T := E}},是{{code|2="modula2"|1=VAR v_1: T := E; ...; VAR v_n: T := E}}的简写。 {{le|常量 (计算机编程)|Constant (computer programming)|常量}}声明有如下形式:{{code|2="modula2"|1=CONST id: T = C}},这里的<code>id</code>是一个标识符,<code>T</code>是一个类型,而<code>C</code>是一个常量表达式。它声明<code>id</code>为具有类型<code>T</code>和值<code>C</code>的一个常量。<code>: T</code>可以省略,在这种情况下<code>id</code>的类型是<code>C</code>的类型。如果<code>T</code>存在,则它必须包含<code>C</code>。
摘要:
请注意,所有对Local Chinese Wikipedia的贡献均可能会被其他贡献者编辑、修改或删除。如果您不希望您的文字作品被随意编辑,请不要在此提交。
您同时也向我们承诺,您提交的内容为您自己所创作,或是复制自公共领域或类似自由来源(详情请见
Project:著作权
)。
未经许可,请勿提交受著作权保护的作品!
取消
编辑帮助
(在新窗口中打开)
导航菜单
个人工具
未登录
讨论
贡献
创建账号
登录
命名空间
页面
讨论
大陆简体
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
臺灣正體
查看
阅读
编辑
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息