Ada 函数与过程

标签 ada gnat

很难说出这里问的是什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或言辞激烈,无法以目前的形式合理回答。如需帮助澄清此问题以便可以重新打开,visit the help center .




8年前关闭。




谁能解释一下 Ada“程序”和“功能”之间的区别?

最佳答案

与其他类似 C 的命令式语言相比,Ada 语言并没有太大的不同。语法虽然看起来很奇怪并且被不同的语句淹没,但这主要是因为非常丰富的静态类型系统和语言直接提供的功能(例如任务),其他语言作为侧库提供。

与大多数类似 C 的语言不同,Ada 区分了过程例程和函数例程。从这个意义上说,函数很像数学函数,它接受参数(或没有参数)并返回一个值,因此用于表达式中。过程不返回任何值并且不能在表达式中使用。 Pascal 语言在函数和过程之间保持相同的区别。类 C 语言选择仅具有可在表达式之外使用的函数(在这种情况下忽略返回值)或返回空值以充当过程。

关于Ada 函数与过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15837081/

相关文章:

ada - 如何将 Doubly_Linked_Lists 文本保存到 Ada 语言的文件中?还有如何输入不固定大小的字符串?

design-patterns - Ada 中的设计模式引用实现?

dll - 尝试使用 mingw-w64 编译 64 位 DLL

ada - 厚绑定(bind)动态库: Undefined references

Ada 量表超过最大值 18

cross-compiling - GNAT GPL Ada 在为 Raspberry pi 交叉编译时失败将链接错误

docker - 在 Alpine Linux Docker 容器中构建 GNATCOLL

ada - 为什么 GNAT 拒绝具有默认判别值的数组类型?

ada - Ada.Containers.Functional_Maps 在 Ada2012 中可用吗?

ada - 如何检查 Spark_Ada 中的 Storage_Error