在药剂多行注释

问题描述 投票:21回答:4

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

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

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

在花好月圆,我已经找到了最接近的是如下:

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

的EEx smartengine <% #comments %>似乎是从源头丢弃,即使它们是多。然而,这只是一种变通方法。

药剂是否有一个多行注释功能,还是有办法来指示编译器丢弃编译.beam文件中的文本?

comments multiline elixir
4个回答
20
投票

花好月圆没有多行注释。

然而,一个很常见的情况多行注释中记录的模块和功能,您可以与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

11
投票

宏可以帮助这里在一定程度上:

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

6
投票

我尽量只使用“””可以快速地注释代码一拉Python中,没有把它变成一个文档

"""
def some_function() do
  some_code    
end
"""

5
投票

你可以简单地使用多行注释模块属性,不需要宏。我通常使用的记录/评论私有函数如下:

@docp """
This is my
multi line
comment
"""
© www.soinside.com 2019 - 2024. All rights reserved.