我有一个 Python 脚本,作为我正在编写的 Elixir 库的一部分运行 - 也就是说,在启动应用程序时,我System.cmd("python", [path/to/script], [])在我的 start_link 函数之一中运行。
我将该脚本安装在用户的 deps/mylibrary/lib 文件夹中。
这path/to/script是我不知道该怎么做的部分 - 我可以通过评估System.cwd()和查看结果来推断脚本所在的位置,但这似乎是错误的。
我认为必须有一种方法可以使用 Mix 来做到这一点。
有没有办法模式匹配像 [_head | 中 | _last] 在 Elixir 中?也就是说,我想匹配至少包含三项内容(但通常更多)的列表,但只匹配除头部和最后一个元素之外的所有内容。
例子:
def match_middle([_head | middle | _last]) do
IO.inspect middle
end
match_middle [1, 2, 3, 4, 5]
>>> [2, 3, 4]
Run Code Online (Sandbox Code Playgroud)