过程与函数 ( 积分: 50 )

  • 主题发起人 主题发起人 listhano
  • 开始时间 开始时间
L

listhano

Unregistered / Unconfirmed
GUEST, unregistred user!
问一个基础问题:
"过程"里可不可以有“函数”即FUNCTION,如果可以的话,这样做好不好?
怎么样做才好?
 
问一个基础问题:
"过程"里可不可以有“函数”即FUNCTION,如果可以的话,这样做好不好?
怎么样做才好?
 
可以,相当于单元和过程,函数的关系,不存在好不好的问题,合理就行
 
函数本来就是一个过程,不过是一个带参数的过程,函数和过程都支持嵌套,对执行效率没有多大影响
 
路过的看看,给点儿指教,非常感激。
感激之余,请你举个例子。
谢谢了!
 
procedure MyProcedure;
function MyFunction1 : Integer
begin
...
end;
var
i : Integer;
begin
i := MyFunction1;
...
end;
 
procedure MyProcedure;
function MyFunction1 : Integer
begin
...
end;
var
i : Integer;
begin
i := MyFunction1;
...
end;
这样做呢函数属于内部函数,只有MyProcedure可以调用。
这样主要看你的起初设计。
 
这样做不太规范吧
况且这样做也并不能提高效率
函数只是在调用的时候才分配存储空间,局部函数和全局函数一样
 
如果这样写代码的话,感觉有些怪怪的,呵呵
 
可是可以!不过我认为函数不要写在过程之中,这样使程序显得不够整洁!如果函数比较大的话,界面很没有条理性的!
 
可以的,来自xianguo的例子就是那个意思了,程序整洁与界面条理性的问题因该都是自己设计的问题了
 
这是完全允许的,只是这样做好,只能是定义它的过程或函数使用,这也起到了一定的作用---就是作用域的问题。

如果你在设计的时候,不想让其他的过程或函数来使用它,那么你完全可以这样做,当然我在做设计时,经常要用到,一般都是在一个过程里都定义了好几个过程。
 
区别仅仅就是有没有返回值而已
 
lich的说法很简洁,但说得很在理,不过还不够说到点子上,过程他不能当着一个值运算,而函数可以;
 
"过程"里可以有“函数”即FUNCTION
过程和函数可以相互嵌套,深度受限于编译器的能力
这样做非常好
对效率无任何影响。
建议:
如果一个过程A仅被过程B使用,要把过程A定义在过程B中
目标:
标识符要局部化,不要无意义地扩展其作用域
注意:
局部化后的过程或函数不能做为参数使用(指参数是过程类型的),原因比较复杂:编译器开发时考虑局部化的过程或函数如果调用次数非常少,可以编译为内嵌代码的,因此这些局部化的过程或函数可能根本没有固定的地址。但据我观察DELPHI当前的编译器任何时候都没这么做。
 
to jshyhzj
我觉得你说得很有深度!不过我还是觉得不过瘾。请你“再”路过的时候,好好给偶谈谈。
谢谢了!
 
在下认为,有时候并不是规则允许不允许的问题,也要考虑编程风格的问题,还有日后维护读程序的问题。
 
可以我经常这样做,但是本过程以外的过程不可以调用,
 
可以嵌套調用。
但一定要考慮執行效果和日後的維護。
 
完全可以,

过程里有函数或是函数里有过程都可以,
 
后退
顶部