command-line-arguments - Dyalog APL : how to write standalone files that can be executed?

标签 command-line-arguments executable software-distribution apl dyalog

我现在知道如何使用 APL 解释器,但我对如何将 APL 写入文件然后运行该文件感到很困惑。我目前使用 ride IDE 编写 Dyalog APL .我现在想做的是:

  • 使用 Ride IDE 开发程序(我如何访问键绑定(bind)?)。
  • 将我的程序保存到文件中。
  • 使用命令行参数从命令行运行程序(如何获取命令行参数?)
  • 分发我的程序,以便其他人可以使用它们。

  • 大多数在线文档都提到了“APL session ”,这让我认为可能有一些 Smalltalk 之类的事情正在发生,其中一个人只能分发“实时图像”或类似的东西。如果是这样的话,我有一组不同的问题:
  • 如何保存和加载这些图像文件?
  • 如何分发图像文件?
  • 我可以从命令行执行这样的代码来获取命令行参数吗?

  • 总的来说,我对如何在 APL 中编写软件感到很困惑!

    编辑:我在 Ubuntu 上,我想以 Linux 为目标。 Windows/macOS 支持将是一个加分项,但我目前对 Linux 支持感兴趣。

    最佳答案

    目前,创建独立可执行文件(单个 .exe 文件)的能力仅存在于 Windows 上,但 Dyalog 正在努力使这种跨平台成为可能。但是,您可以非常接近。在我们开始之前,让我回答你最初的问题:

    1. Use the ride IDE to develop programs (how else do I access the keybindings?).

    有几种方便的方法可以在 RIDE 之外输入字形,既可以通过编辑器扩展,也可以通过单独的系统范围的前缀和/或转换键输入方法。有关详细信息,请查看 APL Wiki 关于 typing glyphs 的文章.
    1. Run the program from the command line, with command line arguments (how do I take command line arguments?)
    ⊢2⎕NQ#'GetCommandLineArgs'返回用于启动当前应用程序的命令和命令的参数。这适用于跨平台。 Try it online Linux下!

    您谈论的“实时图像”将是 APLers 所说的工作空间。一旦您的应用程序按照您的需要运行,请输入 set ⎕LX (Latent eXpression) 变量到启动应用程序然后在完成后关闭 APL 的语句,例如⎕LX←'myApp.Run ⋄ ⎕OFF' .
    接下来,使用 )save /tmp/myapp 将您的应用程序保存为工作区.
    您现在应该可以使用 dyalog -hello=world /tmp/myapp 运行您的应用程序了。等等。你当然可以把它放在一个 shell 脚本中以便于使用。
    您将分发给客户的至少是工作区和运行时解释器,但您可能还想打包一些伴随文件/依赖项。但是,在从您的应用程序中赚钱之前,请查看 Dyalog 的 prices and Licences .

    关于command-line-arguments - Dyalog APL : how to write standalone files that can be executed?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60698569/

    相关文章:

    ios - 我可以使用自签名 SSL 证书服务器通过无线方式部署企业应用程序吗?

    c - 模拟命令行输入

    macos - 可执行文件是否总是在 MacOS 上打开终端窗口?

    delphi - 如何检查是否有正在使用给定句柄运行的进程

    使用 Protocol Buffer 的 Python 项目,部署问题

    open-source - 如何处理死掉的开源依赖?

    c# - 在C#中发送cmd命令并读取结果

    c++ - Glib 中 G_OPTION_ARG_FILENAME 和 G_OPTION_ARG_STRING 的区别

    C 中的 cmd 参数转换为 char**

    .net - 以编程方式运行可执行文件 .NET