APL语言

编辑
本词条由“匿名用户” 建档。
APL(一种编程语言)是一种通常解释的编程语言,其语法主要是符号化的。 PC 上的第 一个实现需要一个特殊的 EPROM,以便可以显示 APL 字符集。 最初选择APL字符集是为了让符号尽可能不言自明,从而可以从符号中直观地推导出功能。 多年来,术语 APL 也被解释为数组处理语言。 APL 使用特殊的运算符或命令,每个运算符或命令不仅具有处理单个数值的功能,而且还具有处理整个...

APL语言

编辑

APL(一种编程语言)是一种通常解释的编程语言,其语法主要是符号化的。

历史

编辑

PC 上的第 一个实现需要一个特殊的 EPROM,以便可以显示 APL 字符集。 最初选择APL字符集是为了让符号尽可能不言自明,从而可以从符号中直观地推导出功能。 多年来,术语 APL 也被解释为数组处理语言。

特色

编辑

运算符和特殊字符

APL 使用特殊的运算符或命令,每个运算符或命令不仅具有处理单个数值的功能,而且还具有处理整个向量和矩阵的功能,例如 B. 添加 2 个矩阵或计算 2 个向量的标量积。 这些操作符中的每一个都有一个特殊的字符,这意味着需要一个扩展的字符集,无论是在键盘上、内存中还是在屏幕上——从那时起——以及在打印机上。 那时还没有可以编程生成几乎任何字符的激光喷墨打印机。 使用这种具有运算符功能的字符,可以为外人提供极其简洁但又神秘的代码,这让很多人望而却步,而且不是强制性的。 也可以使用保留字作为运算符。 这些字符现在可以在 Unicode 块杂项技术字符中找到。

互动性

APL 从一开始就是交互式的:输入命令后按下 Enter 键,命令由解释器执行并显示结果。 输出结果的特殊指令,如 BASIC 中的 PRINT 命令等功能不是必需的,但如果您想要显示通常不会显示的结果,则存在该功能。

如果发生错误,您将收到相应的消息。 您可以修改输入并再次运行。 由此产生的与计算机的直接交互仍然是 APL 作为开发工具的巨大优势之一。

从今天的角度来看,这听起来微不足道,但 APL 是最早提供这种奢侈的编程语言之一:相互竞争的语言还没有交互性,每种语言都必须先编译才能运行程序。

程序代码

命令序列可以组合成函数。 函数可以依次调用其他函数。 事实上,APL 是最早的函数式编程语言之一。 有关详细信息和示例,请参见下文。

直到 1990 年代,APL 还缺乏“结构化编程”的控制结构逻辑必须通过跳转指令来实现。 在 APL 中,控制结构的使用频率低于其他命令式编程语言,一方面是因为 APL 不仅可以处理标量,还可以处理任意维度数据结构,另一方面是因为它提供了 Each 运算符。

数据类型

APL 至少知道数据类型 Char、Bool、Int 和 Float,但程序员不必考虑这一点,因为解释器会在必要时自动转换数据类型。 这也意味着 APL 不知道任何类型检查。

变量的数据类型不必特别声明,可以为变量分配一个浮点数(或一个数组或浮点数数组),然后是一个文本,而无需事先进行任何特殊说明。

内存管理

内存管理也由 Inter 处理被接管了。 APL 程序员不必担心在程序运行时保留或释放内存。 所有的主内存都在所谓的变量和程序工作区中可用。它可以在程序启动时定义,也可以在某些 APL 产品中动态扩展。

数组处理

APL 中的几乎所有函数也是非标量的。 这意味着函数不仅可以应用于单个标量(数字或字符),还可以应用于向量(数字序列)、矩阵(表格)和多维排列的数据(数组)以及列表。

范围

每个赋值都会创建一个全局变量,i。 H。 该变量在整个程序中可见且可变。 但是,您可以通过在函数头中包含变量名称来限制变量的范围。 这样的变量被称为局部变量,因为它仅在函数运行时可见。

但是,如果一个函数 F1 定义了一个局部变量 A,然后调用一个函数 F2,那么 A 在 F2 中是可见的和可变的,这现在被认为是一个设计缺陷。

数组

各种数据在 APL 中称为数组。 数组可以有不同的维度。 单个值称为标量。 几个相邻的值组成一个向量。 连接多个标量的运算符是逗号。 也可以将单个值与空集连接起来以获得由单个元素组成的向量。 空向量也是允许的:这些向量根本不包含任何数据元素,只包含结构信息。

排列成行和列的值形成表格,也称为矩阵或二维数组。

数组的维数在 APL 中用希腊字母 ρ (rho) 表示。 当我们谈论数组的“等级”时,我们指的是数组的维数,即 rho 的 rho。 因此,标量的秩为 0,向量的秩为 1,表的秩为 2,依此类推。

APL语言

三维数组的级别称为平面。 n 维数组是可能的,数量仅受整数索引 (2-1) 的xxx大小和可用内存空间的限制。

1986 年,IBM 推出了显着扩展的 APL,称为 APL2。 扩展主要在于数组的每个元素都可以由任何其他数据结构(嵌套数组)组成。 这导致嵌套结构。 右侧显示了一个示例来说明这一点。 这是一个4行5列的数值矩阵,前面已经讨论过了。 但是,第 2 行的第 2 个元素包含一个文本向量,第 3 行的第 4 个元素包含一个 2x2 矩阵。 因此,文本标签也可以链接到带有数值的表格。 APL2 开启了创建混合数组以及简单和复杂列表的可能性。

在此扩展过程中,引入了用于处理新数据结构的新所谓“原始函数”,并在其范围内对旧函数进行了调整和扩展。

内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/371987/

(10)
词条目录
  1. APL语言
  2. 历史
  3. 特色
  4. 运算符和特殊字符
  5. 互动性
  6. 程序代码
  7. 数据类型
  8. 内存管理
  9. 数组处理
  10. 范围
  11. 数组

轻触这里

关闭目录

目录