大多数语言允许块注释和多行命令。
例如,HTML中的多行注释如下所示:
<!--
Warning, brave programmer:
Here be dragons.
-->
在Elixir中,我发现的最接近的事情如下:
http://elixir-lang.org/docs/v1.0/eex/
EEx smartengine <% #comments %>
似乎从源头被丢弃,即使它们是多线的。但是,这只是一种解决方法。
Elixir是否具有多行注释功能,或指示编译器从已编译的.beam文件中丢弃文本的方法?
答案 0 :(得分:20)
Elixir没有多行注释。
但是,多行注释的一个非常常见的用例是记录模块和函数,您可以将module attributes @doc
and @moduledoc
与heredocs一起使用。
defmodule MyModule do
@moduledoc """
This module is great at X
"""
@doc """
Frobnicates the given string.
"""
def frobnicate(s) do
end
end
答案 1 :(得分:10)
Macros在某种程度上可以提供帮助:
defmodule Comment do
defmacro comment(_text) do
end
end
defmodule TestComment do
import Comment
comment """
Module
Comment
"""
def func do
comment """
Function
Comment
"""
end
end
答案 2 :(得分:6)
我尝试使用&#34;&#34;&#34;快速评论Python代码,而不将其转化为文档
"""
def some_function() do
some_code
end
"""
答案 3 :(得分:4)
您可以简单地将模块属性用于多行注释,无需宏。我通常使用以下内容来记录/评论私有函数:
@docp """
This is my
multi line
comment
"""