web-dev-qa-db-ja.com

Elixirの複数行コメント

ほとんどの言語では、ブロックコメントと複数行コマンドを使用できます。

たとえば、HTMLの複数行コメントは次のようになります。

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

Elixirで、私が見つけた最も近いものはEEx( docs )からのものです。

EEx smartengine <% #comments %>複数行であっても、ソースから破棄されるようです。ただし、これは単なる回避策です。

Elixirには複数行コメント機能、またはコンパイル済みの.beamファイルからテキストを破棄するようコンパイラーに指示する方法はありますか?

28
Nathan Basanese

Elixirには複数行のコメントはありません。

ただし、複数行コメントの非常に一般的な使用例の1つは、モジュールと関数をドキュメント化することです。これには module attributes @docおよび@moduledocheredocs と一緒に。

defmodule MyModule do
  @moduledoc """
  This module is great at X
  """

  @doc """
  Frobnicates the given string.
  """
  def frobnicate(s) do
  end
end
20
Patrick Oscity

マクロはここである程度役に立ちます:

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
11
Dimagog

ドキュメントに変換せずに、 "" "を使用してPythonのコードにすばやくコメントを付けようとしています

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

複数行のコメントにモジュール属性を使用するだけでよく、マクロは不要です。私は通常、プライベート関数を文書化/コメントするために以下を使用します:

@docp """
This is my
multi line
comment
"""
5
Kip