"Julia" (外部计算系统)
更多信息
- 支持 Julia 0.7 及更高版本. ExternalFunction 则需要 Julia 1.2 或更高版本才可支持.
- 可参考在 ExternalEvaluate 中配置 Julia 的工作流程对 Julia 进行配置并在 Wolfram 语言中使用.
ExternalEvaluate 用法
- ExternalEvaluate["Julia",code] 在 Julia REPL 中执行代码字符串并以 Wolfram 语言表达式的形式返回结果.
- ExternalEvaluate["Julia""String",code] 在 Julia REPL 中执行代码字符串并以 Wolfram 语言字符串的形式返回输出.
数据类型
- 支持以下 Julia 内置类型:
-
Bool True False 布尔 True/False 值 Int8, Int16, Int32, etc. Integer 整数 Float16, Float32, etc. Real 实数 Complex{Float16}, Complex{Float32}, etc. Complex 复数(仅支持从 Julia 返回的复数) String String 字符的字符串 Array List 对象列表 Dict Association 关联数组 Set List 没有重复元素的无序组 Tuple List 固定长度的容器 Date, DateTime 日期,日期间隔 NaN Indeterminate 非数字 nothing Null 无返回值
范例
打开所有单元关闭所有单元基本范例 (1)
类型 > 并在下拉菜单中选择 Julia 可以获取一个使用 ExternalEvaluate 进行计算的代码单元格:
日期是以 DateObject 表达式的形式从 Julia 返回:
范围 (20)
Julia 中的数组以 List 的形式返回:
会话选项 (9)
"ReturnType" (3)
对于 Julia 运算系统,默认的返回类型是 "Expression":
数字、字符串、列表和关联会自动导入 "Expression" 返回类型:
返回类型为 "String",通过调用 Julia 函数 repr,返回一个字符串的结果:
命令选项 (10)
"Command" (3)
使用 File 包装器来运行文件中的代码:
将代码放入 CloudObject 中:
"Arguments" (2)
如果你需要传递列表作为第一个参数,该列表必须明确包装在一个额外的列表中:
你可以在 "Command" 中定义一个函数,然后用 "Arguments" 直接调用它:
通过使用 Rule 可以达到同样的效果:
你也可以通过创建一个 ExternalFunction 来传递参数:
"TemplateArguments" (3)
在运行命令时,你可以内联一个 TemplateExpression:
可使用 "TemplateArguments" 对 TemplateSlot 进行填充:
如果你需要传递列表作为第一个参数,该列表必须明确用一个额外列表进行包装:
可为模板槽命名,并使用 Association 来向模板传递命名的参数: