有没有办法注释掉Elixir函数中的代码行

有没有办法注释掉Elixir函数中的代码行,elixir,Elixir,有没有办法注释掉函数中的一行或几行代码 类似于下面的内容 defmodule MyModule def foo do //a = "old code" a = "new code" end end 或 Elixir中的注释(在可以用作脚本语言的语言中很常见)使用磅符号 defmodule MyModule def foo do # a = "old code" a = "new code" end end 从形式上讲,无法使用多行注释,但多行字

有没有办法注释掉函数中的一行或几行代码

类似于下面的内容

defmodule MyModule
  def foo do
    //a = "old code"
    a = "new code"
  end
end


Elixir中的注释(在可以用作脚本语言的语言中很常见)使用磅符号

defmodule MyModule
  def foo do
    # a = "old code"
    a = "new code"
  end
end
从形式上讲,无法使用多行注释,但多行字符串最终将成为noop

defmodule MyModule
  def foo do
    """
    a = "old code"
    a = "more old code"
    """
    a = "new code"
  end
end

我远非专家,但我不认为这个答案适用于所有情况。如果多行字符串位于函数的末尾,它将作为函数的结果返回。所以我认为下面对答案代码的重新排序失败了(或者至少没有按预期运行)。它返回
“a=\”旧代码\“\na=\”更多旧代码\“\n”
。还请注意,
defmodule
行的答案中缺少
do
。最后,对多个注释使用
的代码将生成
未使用的文本
错误(而
不会)

因此,如果多行注释技术不起作用(在所有情况下),我们应该如何屏蔽一段代码

您不能在函数中设置属性(例如,
@comment”“”..
),因此该属性不起作用

您可以像中一样使用宏,但这会稍微“污染”代码


我在谷歌上搜索了一下,找不到合适的答案(也许我遗漏了一些明显的东西),所以我只需编写一些
elisp
代码,在Emacs中的每一行前面加上
(如果它还没有在Elixir模式包中的话)就可以屏蔽掉一个部分。

否决票。谷歌上第一个关于“长生不老药注释语法”的搜索结果,实际上就是在讨论这个问题。“我似乎真的没有付出任何研究努力。”OnorioCatenacci我主要在elixir-lang.org上搜索,但在那里我找不到答案。我认为“注释”对于google来说是非常模糊的,对于elixir来说,它一直返回文档注释内容。@AI:在emacs中注释一段代码已经是(实际上)任何支持的语言的标准功能。标记区域(CTRL-SPACE在开始处,转到区域的末尾);然后执行
M-x注释区域
)。
defmodule MyModule
  def foo do
    """
    a = "old code"
    a = "more old code"
    """
    a = "new code"
  end
end
defmodule MyModule do
  def foo do
    a = "new code"
    """
    a = "old code"
    a = "more old code"
    """
  end
end