Elixir提供了多种方式来编写注释或者是注解。下面是其中三种方式:
-
#
- 用于单行的注释 -
@moduledoc
- 用于模块文档的注释 -
@doc
- 用于函数的注释
模块注释
@moduledoc
提供模块级别的注释。这个注解一般放在模块定义的最前面,也就是defmodule
后。下面的例子简单地展示了@moduledoc
这个装饰器的用法。
defmodule Greeter do
@moduledoc """
Provides a function `hello/1` to greet a human
"""
def hello(name) do
"Hello, " <> name
end
end
用户可以在IEx里面通过h
这个辅助函数看到我们在这个模块里定义的文档。
iex> c("greeter.ex")
[Greeter]
iex> h Greeter
Greeter
Provides a function hello/1 to greet a human
函数注释
@doc
这个装饰器能够提供函数级别的文档注释。@doc
装饰器使用的时候只需要放在函数定义前。
defmodule Greeter do
@moduledoc """
...
"""
@doc """
Prints a hello message
## Parameters
- name: String that represents the name of the person.
## Examples
iex> Greeter.hello("Sean")
"Hello, Sean"
iex> Greeter.hello("pete")
"Hello, pete"
"""
@spec hello(String.t()) :: String.t()
def hello(name) do
"Hello, " <> name
end
end
网友评论