3

我是 APL 的新手,我开始研究 APL 代码库,它大量使用 APL 组件文件(例如⎕FSTIE, ⎕FREAD, ⎕FAPPEND)。我还被要求研究将这些组件文件的内容传输到 SQL 数据库,其目的是使数据可用于其他应用程序。

一些文件组件包含的文本乍一看似乎如果存储在本机文件中就可以正常工作,但大部分组件文件大多包含“不规则”数字矩阵,这些让我觉得最终会是实现为每个组件一个 DB2 表。迄今为止最大的大约是 500 行 x 20 列。我还没有(有意地)看到任何嵌套数组,尽管我只是勉强触及了表面。到目前为止,只有字符文本和数字向量和矩阵。

将这些组件文件的内容传输到 Native Files 也是一个明智的选择吗?为什么要使用 APL 组件文件呢?

正在使用的APL系统是Windows 7下的Dyalog APL。它已经存在了一段时间,没有人确定多久。

4

2 回答 2

1

使用组件文件的优点是您可以通过对文件的单个本机操作来读取/写入任何 APL-Array(尽可能复杂和尽可能大),而如果您愿意,您可能需要编写自己的专用函数对 .TXT 格式或 .XML 格式的大型复杂数组执行此操作。⎕CSV(幸运的是,Dyalog⎕XML会为您做到这一点,但在性能方面,组件文件几乎肯定会获胜。)

于 2017-10-18T10:43:59.047 回答
1

第一个文件系统是由两家主要的 APL 分时公司 IPSharp Associates 和 STSC 在 1960 年代后期联合开发的。文件系统和新的系统功能(如 []FMT、报告格式)是使 APL\360 更具商业可行性的努力的一部分。那时的 IBM 产品 APL.SV 以 TSIO 为特色,类似于 Native Files。APL.SV 以及未来的 IBM 解释器(如 VSAPL 和 APL2)都有售后市场文件系统。

为什么要使用 APL 组件文件呢?

那时,如果使用 Sharp 或 STSC 分时,这是唯一可用的。文件系统也使开发变得非常容易。当替代方案是使用本机文件时,它可以说是持久化 APL 数据的最佳方式。如果您的系统最初是在分时上运行的,或者使用了一些早期的 STSC(Manugistics)解释器,那么它可能从一开始就使用组件文件。从 APL 访问 DB2,首先是大型机 APL2 和 Sharp APL 的 AP127 形式,后来才出现,大约在 1980 年代中期。

自然,不同供应商之间的组件文件系统(如工作空间)是不兼容的。

将这些组件文件的内容传输到 Native Files 也是一个明智的选择吗?

这取决于内容。听起来好像这些数字组件中可能有一个本土数据库。这就提出了更大的数据迁移问题。

于 2017-10-19T13:49:39.983 回答