Inspect.Opts
Определяет параметры, используемые протоколом Inspect.
Доступны следующие поля:
:base- отображает целые числа как:binary,:octal,:decimal, или:hex, по умолчанию:decimal. При проверке двоичных данных любой:baseкроме:decimalподразумеваетbinaries: :as_binaries.-
:binaries- при:as_binariesвсе двоичные данные будут выводиться в двоичном формате.При
:as_stringsвсе двоичные данные будут выводиться как строки, а непечатаемые байты будут экранированы. При использовании значения по умолчанию:infer, двоичные данные будут выведены как строка, если они печатаемы, в противном случае — в двоичном формате. См.String.printable?/1, чтобы узнать, когда строка печатаема. -
:charlists- при:as_charlistsвсе списки будут выводиться как списки символов, а непечатаемые элементы будут экранированы.При
:as_listsвсе списки будут выводиться как списки. При использовании значения по умолчанию:infer, список будет выведен как список символов, если он печатаем, в противном случае — как список. См.List.ascii_printable?/1, чтобы узнать, когда список символов печатаем. :custom_options(с версии v1.9.0) - список ключевых слов, хранящий пользовательские параметры. Полезно при реализации протоколаInspectдля вложенных структур, чтобы передавать пользовательские параметры.:inspect_fun(с версии v1.9.0) - функция для построения документов алгебры, по умолчаниюInspect.inspect/2.:limit- ограничивает количество элементов, которые проверяются для кортежей, битовых строк, словарей, списков и других коллекций элементов. Он не применяется к печатаемым строкам и печатаемым спискам символов и по умолчанию равен 50. Если вы не хотите ограничивать количество элементов определенным числом, используйте:infinity.:pretty- если установлено значениеtrue, активирует красивый вывод, по умолчаниюfalse.:printable_limit- ограничивает количество символов, проверяемых в печатаемых строках и печатаемых списках символов. Вы можете использоватьString.printable?/1иList.ascii_printable?/1, чтобы проверить, является ли заданная строка или список символов печатаемым. По умолчанию 4096. Если вы не хотите ограничивать количество символов определенным числом, используйте:infinity.:safe- еслиfalse, ошибки при проверке структур будут подниматься как ошибки вместо обёртывания в исключениеInspect.Error. Это полезно при отладке ошибок и сбоев для пользовательских реализаций inspect.:structs- еслиfalse, структуры не форматируются протоколом inspect, а вместо этого выводятся как словари, по умолчаниюtrue.:syntax_colors- если установлено в список ключевых слов цветов, вывод будет цветным. Ключи — это типы, а значения — цвета для каждого типа (например,[number: :red, atom: :blue]). Типы могут включать:atom,:binary,:boolean,:list,:map,:number,:regex,:string, и:tuple. Пользовательские типы данных могут предоставлять свои собственные параметры. Цвета могут быть любымиIO.ANSI.ansidata/0, которые принимаютсяIO.ANSI.format/1.:width- по умолчанию 80 символов, используется при красивом выводе (true) или при выводе на устройства ввода-вывода. Установите значение 0, чтобы каждый элемент выводился на отдельной строке. Если вы не хотите ограничивать количество элементов определенным числом, используйте:infinity.
Резюме
Типы
Типы
color_key()
Спецификации
color_key() :: atom()
t()
Спецификации
t() :: %Inspect.Opts{
base: :decimal | :binary | :hex | :octal,
binaries: :infer | :as_binaries | :as_strings,
char_lists: :infer | :as_lists | :as_char_lists,
charlists: :infer | :as_lists | :as_charlists,
custom_options: keyword(),
inspect_fun: (any(), t() -> Inspect.Algebra.t()),
limit: pos_integer() | :infinity,
pretty: boolean(),
printable_limit: pos_integer() | :infinity,
safe: boolean(),
structs: boolean(),
syntax_colors: [{color_key(), IO.ANSI.ansidata()}],
width: pos_integer() | :infinity
}
© 2012 Plataformatec
Licensed under the Apache License, Version 2.0.
https://hexdocs.pm/elixir/1.10.4/Inspect.Opts.html