【问题标题】:Printing the current line in elixir source code在 elixir 源代码中打印当前行
【发布时间】:2015-12-26 21:36:18
【问题描述】:

在 elixir 中,我们有伪变量 __MODULE____DIR__ 等。在 erlang 中,还有使用 erlang 宏获取当前行的功能。

如何在 elixir 中获取当前文件行。

类似

IO.puts __LINE__

【问题讨论】:

    标签: macros metaprogramming elixir


    【解决方案1】:

    都在__ENV__

    IO.puts __ENV__.file
    IO.puts __ENV__.line
    

    另见https://hexdocs.pm/elixir/Macro.Env.html

    【讨论】:

    • __DIR__ 获得特殊待遇并使其成为特殊形式的任何原因
    • 也许是因为它使用得更频繁 e. G。找到相对于源文件的路径,也许它只是一个遗留的东西,我不知道。
    • 所以我自己想出了如何重新定义它们,这样也没问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-26
    • 1970-01-01
    相关资源
    最近更新 更多