编辑“︁
Modula-3
”︁(章节)
跳转到导航
跳转到搜索
警告:
您没有登录。如果您进行任何编辑,您的IP地址会公开展示。如果您
登录
或
创建账号
,您的编辑会以您的用户名署名,此外还有其他益处。
反垃圾检查。
不要
加入这个!
====数组类型==== 固定[[数组]]类型声明有如下形式:{{code|2="modula2"|1=TYPE T = ARRAY Index OF Element}},这里的索引类型<code>Index</code>是序数类型,而元素类型<code>Element</code>是除了开放数组之外的任何类型。开放[[数组]]类型声明有如下形式:{{code|2="modula2"|1=TYPE T = ARRAY OF Element}},这里的元素类型<code>Element</code>是任何类型。 [[数组]]类型<code>T</code>的值,是元素类型为<code>Element</code>的数组;对于固定数组类型,这个数组的长度是索引类型<code>Index</code>的元素数目;对于开放数组类型,这个数组的长度是任意的;开放数组的索引类型是<code>INTEGER</code>子范围<code>[0..n-1]</code>,这里的<code>n</code>是这个数组的长度。开放数组类型只能用作形式参数的类型,引用类型的所引用者,另一个开放数组的元素类型,或作为数组[[构造器|构造子]]中的类型。 多维数组的形状是它每一维的长度的序列。更精确的说,一个数组的形状是它的长度跟随着任何它的元素的形状,非数组的形状是空序列。数组如果有相同的类型和形状,则它们是可赋值的。如果赋值的要么来源要么目标是开放数组,则需要运行时间检查。形如{{code|2="modula2"|1=ARRAY Index_1, ..., Index_n OF Element}}的表达式,是{{code|2="modula2"|1=ARRAY Index_1 OF ... OF ARRAY Index_n OF Element}}的简写。 如果<code>a</code>有数组类型<code>T</code>,则<code>a[i]</code>指示<code>a</code>的一个指定元素,它在数组中的位置对应于<code>i</code>在索引类型中位置。形如<code>a[i_1, ..., i_n]</code>的表达式,是<code>a[i_1]...[i_n]</code>的简写。索引的解释由一个数组的类型确定,而非它的[[值 (计算机科学)|值]];数组赋值改变数组变量的[[值 (计算机科学)|值]],而非它的类型。例如: <syntaxhighlight lang="modula2"> VAR a := ARRAY [1..3] OF REAL {1.0, 2.0, 3.0}; b: ARRAY [-1..1] OF REAL := a; </syntaxhighlight> 这里在<code>a</code>或<code>b</code>做元素值变更之前,<code>a = b</code>为<code>TRUE</code>,尽管<code>a[1] = 1.0</code>而<code>b[1] = 3.0</code>。 可以使用<code>NUMBER(A)</code>,得到一个固定数组类型的索引类型中的元素数目,使用<code>FIRST(A)</code>和<code>LAST(A)</code>,分别得到一个固定数组类型的索引类型的最小元素和最大元素。可以使用<code>NUMBER(a)</code>,得到一个数组的索引类型中的元素数目,使用<code>FIRST(a)</code>和<code>LAST(a)</code>,分别得到一个数组的索引类型的最小元素和最大元素,在这种情况下,表达式<code>a</code>只在它指示一个开放数组的时候求值。
摘要:
请注意,所有对Local Chinese Wikipedia的贡献均可能会被其他贡献者编辑、修改或删除。如果您不希望您的文字作品被随意编辑,请不要在此提交。
您同时也向我们承诺,您提交的内容为您自己所创作,或是复制自公共领域或类似自由来源(详情请见
Project:著作权
)。
未经许可,请勿提交受著作权保护的作品!
取消
编辑帮助
(在新窗口中打开)
导航菜单
个人工具
未登录
讨论
贡献
创建账号
登录
命名空间
页面
讨论
大陆简体
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
臺灣正體
查看
阅读
编辑
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息