APL组件文件与本机文件与数据库

APL组件文件与本机文件与数据库,apl,dyalog,Apl,Dyalog,我是APL的新手,正在开始使用APL组件文件(例如⎕FSTIE,⎕FREAD,⎕重重地摔了一跤。我还被要求研究将这些组件文件的内容传输到SQL数据库,其目的是使数据可用于其他应用程序 一些文件组件包含文本,乍一看,如果存储在本机文件中,这些文本似乎可以很好地工作,但大部分组件文件大多包含“不规则”的数字矩阵,我觉得这些矩阵最终会实现为每个组件一个DB2表。到目前为止,最大的是大约500行x20列。我还没有(有意地)看到任何嵌套数组,尽管我只是刚刚触及表面。到目前为止,只有字符文本、数字向量和矩阵

我是APL的新手,正在开始使用APL组件文件(例如
⎕FSTIE
⎕FREAD
⎕重重地摔了一跤。我还被要求研究将这些组件文件的内容传输到SQL数据库,其目的是使数据可用于其他应用程序

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

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


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

使用组件文件的优点是,您可以通过单个本机操作对文件进行读/写任何APL数组(复杂度和大小随您的喜好而定),而如果您想在大范围内执行此操作,则可能需要编写自己的专用函数,.TXT格式或.XML格式的复杂数组。(幸运的是,戴亚洛的
⎕CSV
⎕XML将为您做到这一点,但就性能而言,组件文件几乎肯定会赢。)

第一个文件系统是由I.p.Sharp Associates和STSC(两家卓越的APL分时公司)在20世纪60年代末联合开发的。文件系统和新的系统功能,如[]FMT,报告格式,是使APL\360更具商业可行性的努力的一部分。当时的IBM产品APL.SV将TSIO作为本机文件的一种类似物。APL.SV以及未来的IBM解释器(如VSAPL和APL2)都有售后文件系统

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

当时,如果使用Sharp或STSC分时,它是唯一可用的。此外,文件系统使开发变得非常容易。当替代方法是使用本机文件时,这可以说是保存APL数据的最佳方法。如果您的系统最初是分时运行的,或者使用了一些早期的STSC(Manugistics)解释器,那么它可能从一开始就使用组件文件。从APL访问DB2,首先是大型机APL2和夏普APL的AP127形式,大约在20世纪80年代中期出现

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

将这些组件文件的内容传输到本机文件也是明智的选择吗?


这取决于内容。听起来好像在这些数字组件中有一个自制的数据库。这就打开了更大的数据迁移问题。

实际上,
⎕CSV
⎕XML不能仅仅将任意APL数组存储为文本文件。事实上,对于任意的APL数组,没有一致同意的文本表示。谢谢您的回答。目标是在(非APL)应用程序之间共享数据,这些应用程序无法读取组件文件。了解文件中存在的组件类型将非常有用。APL组件文件可以存储没有标准文本表示的内容。