Revision 3 of 4, by Kai Burghardt on 8-20-2022. The page as it is now.
Basic Pascal Tutorial/Chapter 4/Scope/zh CN
4D - ��作用域 (原作者: Tao Yue, 状�: 未更改)
��作用域是指��的使用范围。
全局å�˜é‡�,指在主程åº�ä¸å®šä¹‰çš„å�˜é‡�。
它的作用范围:任何å�程åº�å�¯ä»¥ä½¿ç”¨ã€�修改。
过程(函数)ä¸å®šä¹‰çš„å�˜é‡�如果与全局å�˜é‡�å�Œå��,则它是局部å�˜é‡�,å�³ä»…åœ¨è¿‡ç¨‹ï¼ˆå‡½æ•°ï¼‰ä¸æœ‰æ•ˆã€‚
这里的�点是:
代ç �å�—(过程ã€�函数ç‰ç‰ï¼‰ä¸ï¼Œå�˜é‡�作用域是,å�—内定义,å�—内å�¯è§�。program ScopeDemo;
var A : integer;
procedure ScopeInner;
var A : integer;
begin
A := 10;
writeln (A)
end;
begin (* Main *)
A := 20;
writeln (A);
ScopeInner;
writeln (A);
end. (* Main *)程�输出结果是:
20
10
20åŽŸå› æ˜¯ï¼š
定义å�Œå��å�˜é‡�多次,如,在主程åº�ã€�å�程åº�都定义的相å�Œå��ç§°çš„å�˜é‡�,它们调用时,都将调用自己的。这是一个å�˜é‡�作用域图表,通过å�—缩进å�¯ä»¥å¾ˆæ¸…楚看到å�˜é‡�的使用范围。

- 所有地方都�以使用全局��
A, B, C。 - 然而, 在Alphaè¿‡ç¨‹ä¸æ–°å®šä¹‰äº†å�˜é‡�A,它将å�–代全局å�˜é‡�A。
- 过程Betaä¸å®šä¹‰çš„å�˜é‡�
VCR, Betamax, cassette,在过程Beta1�函数Beta2都�以使用。 - 过程Beta1�能使用函数Beta2定义的��FailureToo;��,函数Beta2也�能使用Beta1过程的Failure��。
- 除了Alpha过程�以使用F, G��,其他地方都�能。
- 过程Beta�以调用过程Alpha和Beta。
- 函数Beta2å�¯ä»¥è°ƒç”¨ä»»ä½•å�程åº�,包括自身(主程åº�ä¸�是一个å�程åº�)
| 上一页 | 目录 | 下一页 |
From the Free Pascal wiki, page "Basic Pascal Tutorial/Chapter 4/Scope/zh CN", as it stood on 2022-08-20 after a change by Kai Burghardt, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.
