Elixir的多行评论

时间:2015-06-10 06:53:13

标签: comments multiline elixir

大多数语言允许块注释和多行命令。

例如,HTML中的多行注释如下所示:

<!-- 
Warning, brave programmer:
Here be dragons.
-->

在Elixir中,我发现的最接近的事情如下:

http://elixir-lang.org/docs/v1.0/eex/

EEx smartengine <% #comments %>似乎从源头被丢弃,即使它们是多线的。但是,这只是一种解决方法。

Elixir是否具有多行注释功能,或指示编译器从已编译的.beam文件中丢弃文本的方法?

4 个答案:

答案 0 :(得分:20)

Elixir没有多行注释。

但是,多行注释的一个非常常见的用例是记录模块和函数,您可以将module attributes @doc and @moduledocheredocs一起使用。

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
"""