Elixir-文档模块

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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,981评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,466评论 25 708
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 12,970评论 2 59
  • 今天到学校做推广,一开始真的碍于面子不知道要怎么发挥。想想以前的自己,一本线、保研、大学老师,现在居然要跑到学校求...
    春夏之后阅读 138评论 0 0
  • 天桥久驻立,斜风密雨,灯下树影娑。往来车辆,破声过,水花映华灯,千面镜生。 夜幕...
    兰陵酒阅读 237评论 0 0