我正在 Mathematica 中编写一个程序,该程序依赖于模式匹配来执行工资核算和付款验证。问题的关键是比较不同的数据文件(包括CSV和XLS),以确保它们包含完全相同的信息,因为付款由两个不同的第三方处理。
我对 Mathematica 的使用使得该程序的开发非常简化和有趣,但在分发级别上却令人望而却步。 CDF格式不是一种选择,因为该程序要求用户导入数据文件,WRI不允许在CDF中使用。
这项任务的理想编程语言使我能够将其作为独立包装,用于OS X,Linux或Windows,以及能够进行模式匹配。还需要支持GUI(原始或广泛)。
我想到了Python来翻译我的程序,但我不确定这是不是一个好赌注。
你有什么建议?
我对模式匹配的唯一理解是{{3>} Mathematica that教会了我。
Mathematica 完美处理的任务示例如下:
导入XLS文件,按日期和名称对数据进行排序,提取特定日期和名称。导入CSV文件,按日期和名称对数据进行排序,提取特定日期和名称。
比较两者,产生一个包含所需(缺失)信息的漂亮格式化输出。
浏览 Mathematica 中的数据也非常简单直观。
答案 0 :(得分:3)
考虑Haskell,它似乎具有您想要的所有功能,并且是跨平台的。
答案 1 :(得分:1)
如果你想使用一种具有处理电子表格功能的更标准的语言,除非我误解了这个问题,否则我建议只使用简单的Java和Apache POI库,特别是针对可怕的电子表格格式。另外,它比Haskell快得多,但我想如果你已经知道Mathematica,那么转移到另一种数学上倾向的语言并不是那么糟糕。
答案 2 :(得分:1)
Prolog是一种逻辑编程语言,它实际上根据您提供的事实进行证明。因此,如果您提供保证或工资单信息的批准事实,它将能够通过试图找到方程式两边取消的基本情况来证明它是其中之一。还有更多,但我现在在手机上。
根据您的情况,您将能够以更容易编程的语言读取数据并在Prolog中验证参数,只要您的Prolog事实正确,它就能够快速验证您的数据是否有效。它可以被认为是具有更多功能的类固醇的正则表达式。