现代Object Pascal介绍-第七部分


立即下载 浮华丶
2024-09-22
Integer 例行 程序 routine 局部 嵌套 Square begin Result Resul
336.9 KB

robsean@126.com QQ群:192903718
1 / 13
7. 各种各样的语言特征
7.1. 局部(嵌套)例行程序(routines)
在大量的例行程序 (routine)(函数,procedure(过程),方法)中,你可以定义一个帮助器
(helper)例行程序(routine).
局部(嵌套)例行程序(routine)可以自由地访问(读和写)一个父类(parent)的所有参数,和上
述被声明父类(parent)的所有的局部变量. 这是非常强大的.它通常允许拆分长的例行程序
(routine)到几个小的例行程序中,而不需要很多努力 (因为你不必传递参数中所有的信息).
注意不要过度使用这个特征—如果一些嵌套的函数使用(甚至更改)父类(parent)的相同变量,
代码可能很难理解(follow).
这两个示例是相等的:
procedure SumOfSquares(const N: Integer): Integer;
function Square(const Value: Integer): Integer;
begin
Result := Value * Value;
end;
var
I: Integer;
begin
Result := 0;
for I := 0 to N do
Result := Result + Square(I);
end;
另一个版本,在这里我们让局部(嵌套)例行程序(routine)Square来直接访问 I:
procedure SumOfSquares(const N: Integer): Integer;
var
I: Integer;
function Square: Integer;
begin
Result := I * I;
end;
begin
Result := 0;
for I := 0 to N do
Result := Result + Square;
end;
局部(嵌套)例行程序(routine)可以转到任何深度—这意味着你可以在其它的局部(


Integer/例行/程序/routine/局部/嵌套/Square/begin/Result/Resul/ Integer/例行/程序/routine/局部/嵌套/Square/begin/Result/Resul/
-1 条回复
登录 后才能参与评论
-->