问题
Most languages allow block comments, and multiline commands.
For example, a multiline comment in HTML looks like the following:
<!--
Warning, brave programmer:
Here be dragons.
-->
In Elixir, the closest thing I have found is as follows:
http://elixir-lang.org/docs/v1.0/eex/
EEx smartengine <% #comments %>
seem to be discarded from source, even if they are multiline. However, this is just a workaround.
Does Elixir have a multiline comment feature, or a way to instruct the compiler to discard text from the compiled .beam file?
回答1:
Elixir does not have multiline comments.
However, one very common use case for multiline comments is documenting modules and functions, for which you can use the module attributes @doc and @moduledoc together with heredocs.
defmodule MyModule do
@moduledoc """
This module is great at X
"""
@doc """
Frobnicates the given string.
"""
def frobnicate(s) do
end
end
回答2:
Macros could help here to some degree:
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
回答3:
I try to just use """ to quickly comment code a la Python, without turning it into a documentation
"""
def some_function() do
some_code
end
"""
回答4:
You can simply use module attributes for multiline comments, no macro required. I typically use the following for documenting/commenting private functions:
@docp """
This is my
multi line
comment
"""
来源:https://stackoverflow.com/questions/30749094/multiline-comment-in-elixir