Elixir语言中 Inspect.Algebra.container_doc 相关用法介绍如下。
用法:
container_doc(left, collection, right, inspect_opts, fun, opts \\ [])
(从 1.6.0 开始)
@spec container_doc(
  t(),
  [any()],
  t(),
  Inspect.Opts.t(),
  (term(), Inspect.Opts.t() -> t()),
  keyword()
) ::
  t()
根据限制和内容将collection 包装在left 和right 中。
它使用给定的 left 和 right 文档作为环绕,并使用分隔符文档 separator 来分隔 docs 中的项目。如果集合中的所有条目都是简单文档(文本或字符串),则此函数尝试将尽可能多的内容放在同一行上。如果它们不简单,如果它们不适合,则每行只显示一个条目。
遵守给定 inspect_opts 中的限制,当达到该限制时,此函数将停止处理并改为输出 "..."。
选项
:separator- 每个文档之间使用的分隔符:break- 如果:strict,总是在每个元素之间中断。如果:flex,仅在必要时中断。如果:maybe,仅当所有元素都是基于文本的时才选择:flex,否则为:strict
例子
iex> inspect_opts = %Inspect.Opts{limit: :infinity}
iex> fun = fn i, _opts -> to_string(i) end
iex> doc = Inspect.Algebra.container_doc("[", Enum.to_list(1..5), "]", inspect_opts, fun)
iex> Inspect.Algebra.format(doc, 5) |> IO.iodata_to_binary()
"[1,\n 2,\n 3,\n 4,\n 5]"
iex> inspect_opts = %Inspect.Opts{limit: 3}
iex> fun = fn i, _opts -> to_string(i) end
iex> doc = Inspect.Algebra.container_doc("[", Enum.to_list(1..5), "]", inspect_opts, fun)
iex> Inspect.Algebra.format(doc, 20) |> IO.iodata_to_binary()
"[1, 2, 3, ...]"
iex> inspect_opts = %Inspect.Opts{limit: 3}
iex> fun = fn i, _opts -> to_string(i) end
iex> opts = [separator: "!"]
iex> doc = Inspect.Algebra.container_doc("[", Enum.to_list(1..5), "]", inspect_opts, fun, opts)
iex> Inspect.Algebra.format(doc, 20) |> IO.iodata_to_binary()
"[1! 2! 3! ...]"
相关用法
- Elixir Inspect.Algebra.concat用法及代码示例
 - Elixir Inspect.Algebra.format用法及代码示例
 - Elixir Inspect.Algebra.glue用法及代码示例
 - Elixir Inspect.Algebra.string用法及代码示例
 - Elixir Inspect.Algebra.space用法及代码示例
 - Elixir Inspect.Algebra.line用法及代码示例
 - Elixir Inspect.Algebra.nest用法及代码示例
 - Elixir Inspect.Algebra.flex_break用法及代码示例
 - Elixir Inspect.Algebra.break用法及代码示例
 - Elixir Inspect.Algebra.next_break_fits用法及代码示例
 - Elixir Inspect.Algebra.fold_doc用法及代码示例
 - Elixir Inspect.Algebra.group用法及代码示例
 - Elixir Inspect.Algebra.empty用法及代码示例
 - Elixir Inspect.Algebra用法及代码示例
 - Elixir Inspect.Opts.default_inspect_fun用法及代码示例
 - Elixir Inspect用法及代码示例
 - Elixir Integer.pow用法及代码示例
 - Elixir Integer.undigits用法及代码示例
 - Elixir Integer.floor_div用法及代码示例
 - Elixir Integer.extended_gcd用法及代码示例
 - Elixir Integer.to_charlist用法及代码示例
 - Elixir Integer.parse用法及代码示例
 - Elixir Integer.mod用法及代码示例
 - Elixir Integer.is_even用法及代码示例
 - Elixir Integer.to_string用法及代码示例
 
注:本文由纯净天空筛选整理自elixir-lang.org大神的英文原创作品 Inspect.Algebra.container_doc(left, collection, right, inspect_opts, fun, opts \\ [])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
