有没有办法注释掉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