WOLFRAM

技术

WolframScript (用于命令行)

随时随地执行 Wolfram 语言代码

WolframScript 让 Wolfram 语言代码可以在任何终端运行,无需依赖系统中是否拥有 Wolfram 内核。

利用 WolframScript 用户可以决定在何处和如何运行自己的 Wolfram 语言代码。连同可配置内核和云端设置,WolframScript 云集了用于各种任务的便捷函数,其中包括用命令行输入运行纯函数,调用云端 API 和将数据导出为 Wolfram 支持的各种格式。现在您可以在 Wolfram Cloud 用 wolframscript -cloud 或在 Unix shell 脚本用 #!/usr/bin/env wolframscript -cloud 运行代码。

范例

在本地 Wolfram 引擎计算 Wolfram 语言代码 2+2:

$ wolframscript -code 2+2
            4

在 Wolfram Cloud 计算 Wolfram 语言代码 2+2:

$ wolframscript -cloud -code 2+2
            4

脚本文件

创建文件,以便在本地执行 Wolfram 语言代码:

file.wls
#!/usr/bin/env wolframscript
            Print[2+2]
$ ./file.wls
            4

创建文件,以便在 Wolfram Cloud 上执行 Wolfram 语言代码:

file.wls
#!/usr/bin/env wolframscript -cloud
                Print[2+2]
$ ./file.wls
            4

创建使用命令行参数的文件:

file.wls
#!/usr/bin/env wolframscript
                 Print[ToExpression[$ScriptCommandLine[[2]]]^2]
$ ./file.wls 5
            25

创建给出一个函数的文件,其参数来自命令行:

file.wls
#!/usr/bin/env wolframscript -function -signature City City
                Print[GeoDistance[#1, #2]]&
$ ./file.wls "Champaign, IL" "Oxford, England"
            Quantity[4010.4812837526256, Miles]
查看完整文档中的更多范例 »

特点

WolframScript 引入了各种命令行交互来满足您的脚本需求。

用命令行运行代码

在命令行中利用 -code 参数可以将代码由 WolframScript 直接传送至命令行,从而让用户可以立即将输入在文件中显示或重新定向。

从文件中运行代码

-file 参数可以从 Wolfram 语言程序包直接运行代码。

创建可执行脚本

WolframScript 可作为脚本解释器使用,允许在支持的系统中用 Unix #! 语法书写脚本。

从命令行运行函数

可使用来自命令行环境的数据和参数来定义和执行纯函数 ,以轻松进行 ad-hoc 序列操作。

与输入流的简单交互

$ScriptInputString 符号捕获进入 WolframScript 的数据流,从而可轻松地一次性或逐行迭代处理数据。

使用基于云端的计算

WolframScript 现在能够使用 Wolfram Cloud 执行代码。 可通过公用的 Wolfram Cloud 或 私有云进行配置。

直接访问云端 API

WolframScript 可使用 APIFunction 解析参数输入并直接将数据发送至在 Wolfram Cloud 或私有云存储的 API。

丰富的导出格式

WolframScript 可使用 -export 参数将其数据转换和输出至任何 Wolfram 语言支持的导出格式

Windows 环境支持

WolframScript 在 Windows 中有完整特性,支持基本的 Windows 命令 shell、MSYS 或 Cygwin。

自动内核检测

WolframScript 将自动选择安装于用户系统(Windows、Mac)中的最新 Wolfram 内核。

技术资讯

  • WolframScript 支持运行 Windows、Mac 或 Linux 的 x86 和 x64 系统。可对 Linux 系统提供 ARM 支持。
  • 需要有 Wolfram Cloud 账户从而利用 WolframScript 的基于云端的特性。
  • 在不同平台使用 WolframScript 需要不同转义语义(escaping semantics)。
  • WolframScript 与 Wolfram 语言版本 11 及更高版本一起发布。