微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Progress4gl的内部过程和函数之间的区别?

如何解决Progress4gl的内部过程和函数之间的区别?

两个内部过程和函数都接受参数以提供输出。那么使用内部过程代替函数有什么用。

解决方法

当您要执行一些计算并返回单个值时,将使用用户定义的函数。在这方面,它与内置ABL功能相同,例如SUBSTRING或EXP功能。将此计算代码放在FUNCTION块中而不是内联代码中,可以将它放在一个位置并多次引用,而无需重复代码。

内部过程也是封装的一段代码,可以完成某些工作,但是它具有更多用途。虽然函数必须返回单个值,但是内部过程可能具有也可能没有输入参数或输出参数。

https://docs.progress.com/category/openedge-archives

,

还在编译时检查函数(如方法)的参数和返回值类型,从而在以后的运行时消除了一些潜在的问题。

,

该问题承认函数和内部过程都允许OUTPUT参数,并询问内部过程而不是函数的“用途”。

对我来说,这意味着发布者正在考虑始终使用函数并弃用内部程序,并问:“如果这样做,我会失去什么?”

想到两件事:

  1. Jean-Christophe Cardot的观点相反:您将失去一些自动的类型转换和参数列表的语法灵活性。有人从负面角度看待这种灵活性。其他人则认为这是积极的。

  2. 您需要“转发声明”您的函数或使用动态调用。使用内部过程,您可以运行它而无需在代码中更早地声明。

如果您倾向于认为严格类型检查很有用,那么这些可能不是您认为丢失的好处。如果您喜欢更灵活的行为,那么您可能会后悔选择功能而不是内部过程。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。