我正在研究lisp语言(做lisp例程)并且在一般情况下我知道什么是例程,但在技术背景下我可以谈论它,因为我现在开始学习例程。那么,常规的真正定义是什么? (我已经“搜索”了这个,但没有找到任何东西)
答案 0 :(得分:27)
术语例程派生自subroutine,这是BASIC等语言中更常见的术语,其中一个实际创建SUBroutines。 (BASIC实际上在SUBroutine和FUNCTION之间有区别,但不过......)
来自维基百科条目:
在计算机科学中,子程序(也称为程序,函数,程序,方法或子程序)是执行特定任务的较大程序中的一部分代码,并且< em>相对独立于剩余代码。
正如名称“子程序”所暗示的那样,子程序的行为与用作较大程序或其他子程序中的一个步骤的计算机程序的行为方式大致相同。子程序经常被编码,以便可以在程序的单次执行期间(包括从其他子程序)中多次和/或从几个地方开始(“调用”),然后分支返回(返回)到下一个指令之后。一旦子程序的任务完成,就“调用”。
不同的语言/环境/时代有不同的生态系统,因此描述相同的一般概念的术语不同。这些天我通常只使用术语功能(或“OOP”环境中的方法)。
快乐的编码。
为了好玩,我有社区维基。下面的列表有望涵盖在给定语言中使用哪个(正确)(被广泛接受)术语来表示例程。非正式例程用于以下所有语言的上下文中,因此除非使用的是事实术语,否则应省略它。随意添加,更正和注释。
def
类型的成员,函数是第一类值。答案 1 :(得分:1)
您无法找到技术定义,因为没有特定于lisp的技术定义。在杂耍表演之外的“常规”只是一个功能的另一个名称。虽然我在Lisp全职编程已经很多年了,但没有人以任何正式的方式使用过这个术语,甚至没有使用它。我们谈到了“功能”,“宏”和“形式”。如果有人说,'哦,有一个例程来计算一个馅饼中有多少苹果'这是完全非正式的。