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 \\ [])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。