首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

一个基础有关问题?多谢

2012-03-30 
一个基础问题?谢谢!我第一次见到过程可以这样写.procedure xxprocedure yybeginyy的实现部分endbeginx

一个基础问题?谢谢!
我第一次见到过程可以这样写.
procedure xx;
  procedure yy;
  begin
  yy的实现部分;
  end;
begin
xx的实现部分;
end;

这是一种什么写法,有人能给解释这种写法吗?
procedure yy;为什么可以写在procedure xx下面,是什么意思,有什么用?

[解决办法]
这是一种内嵌函数,没什么大惊小怪的,该函数只能在xx中使用,或者叫局部函数吧
[解决办法]
直接写在函数内的函数你只能在这个函数内调用
[解决办法]
内嵌函数,有点类似于C/C++/Java的内联函数,但有所不同:
pascal的内嵌函数仅仅在外部函数的作用域内有效,循环用的局部变量不能定义在外部函数中,不支持异常处理(try..except or finally)等。
[解决办法]
procedure xx(k:integer);
procedure yy;
begin
k:=1;//内嵌函数还可以调用上层函数的参数
yy的实现部分;
end;
begin
xx的实现部分;
end;

热点排行