使用quote do:记录引用时不会转换为包含记录字段的元组:
iex(1)> quote do: is_bitstring("blah")
{:is_bitstring, [context: Elixir, import: Kernel], ["blah"]}
iex(2)> quote do: Computer.new("Test")
{{:., [], [{:__aliases__, [alias: false], [:Computer]}, :new]}, [], [[name: "Test"]]}
iex(3)> quote do: Computer.new("Test")
{{:., [], [{:__aliases__, [alias: false], [:Computer]}, :new]}, [], [[name: "Test"]]}
iex(4)> c = Computer.new("Test")
Computer[name: "Test", type: nil, processor: nil, hard_drives: []]
iex(5)> c
Computer[name: "Test", type: nil, processor: nil, hard_drives: []]
iex(6)> quote do: c
{:c, [], Elixir}
Run Code Online (Sandbox Code Playgroud)
此外,当我尝试在我的代码中执行此操作时:
defmacro computer([do: code]) do
# macro login here …Run Code Online (Sandbox Code Playgroud) 我有一个值列表,看起来像这样:
["Some", "random", "values", [], "in", "a", [], "list"].
Run Code Online (Sandbox Code Playgroud)
我想创建一个删除了空列表项的新列表.像这样:
["Some", "random", "values", "in", "a", "list"].
Run Code Online (Sandbox Code Playgroud)
最简单的方法是什么?我假设使用列表推导来构建新列表将是最有效的方法.如何使用列表推导过滤此列表?
我如何在Elixir中查找子字符串是否与另一个位串一起出现?我需要验证位串X是否存在于位串Y中的某个位置以进行测试.使用现有功能有一种简单的方法吗?
x = "bar"
y = "foo bar baz"
some_substring_function(x, y)
Run Code Online (Sandbox Code Playgroud)
与some_substring_function返回truthy值.
提前致谢!
Rust 相当于什么mkdir -p <dir>?该-p标志指示mkdir根据需要创建任何丢失的父目录,并且如果<dir>已经存在则不要出错。
有没有简单的方法可以使用 Rust 标准库来做到这一点?