當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Elixir Kernel.inspect用法及代碼示例

Elixir語言中 Kernel.inspect 相關用法介紹如下。

用法:

inspect(term, opts \\ [])
@spec inspect(
  Inspect.t(),
  keyword()
) :: String.t()

根據 Inspect 協議檢查給定的參數。第二個參數是一個關鍵字列表,其中包含控製檢查的選項。

選項

inspect/2 接受在內部轉換為 Inspect.Opts 結構的選項列表。查看 Inspect.Opts 的文檔以查看支持的選項。

例子

iex> inspect(:foo)
":foo"

iex> inspect([1, 2, 3, 4, 5], limit: 3)
"[1, 2, 3, ...]"

iex> inspect([1, 2, 3], pretty: true, width: 0)
"[1,\n 2,\n 3]"

iex> inspect("olá" <> <<0>>)
"<<111, 108, 195, 161, 0>>"

iex> inspect("olá" <> <<0>>, binaries: :as_strings)
"\"olá\\0\""

iex> inspect("olá", binaries: :as_binaries)
"<<111, 108, 195, 161>>"

iex> inspect('bar')
"'bar'"

iex> inspect([0 | 'bar'])
"[0, 98, 97, 114]"

iex> inspect(100, base: :octal)
"0o144"

iex> inspect(100, base: :hex)
"0x64"

請注意, Inspect 協議不一定返回 Elixir 術語的有效表示。在這種情況下,檢查結果必須以 # 開頭。例如,檢查一個函數將返回:

inspect(fn a, b -> a + b end)
#=> #Function<...>

Inspect 協議可以派生以隱藏結構中的某些字段,因此它們不會出現在日誌、檢查和類似內容中。有關詳細信息,請參閱 Inspect 協議文檔的"Deriving" 部分。

相關用法


注:本文由純淨天空篩選整理自elixir-lang.org大神的英文原創作品 Kernel.inspect(term, opts \\ [])。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。