Spec-Zone.ru › Julia 1.6

Интерактивные утилиты

Base.Docs.aproposФункция

apropos([io::IO=stdout], pattern::Union{AbstractString,Regex})

Поиск доступных строковых описаний для записей, содержащих pattern.

Если pattern является строкой, регистр игнорируется. Результаты выводятся в io.

исходный код

InteractiveUtils.varinfoФункция

varinfo(m::Module=Main, pattern::Regex=r""; all::Bool = false, imported::Bool = false, sortby::Symbol = :name)

Возвращает таблицу Markdown, содержащую информацию об экспортированных глобальных переменных в модуле, необязательно ограниченную теми, которые соответствуют pattern.

Оценочное значение потребления памяти — это приблизительная нижняя граница размера внутренней структуры объекта.

  • all : также отображаются неэкспортированные объекты, определённые в модуле, устаревшие объекты и объекты, сгенерированные компилятором.
  • imported : также отображаются объекты, явно импортированные из других модулей.
  • recursive : рекурсивно включаются объекты в подмодулях, наблюдая за теми же настройками в каждом.
  • sortby : столбец для сортировки результатов. Доступные варианты — :name (по умолчанию), :size, и :summary.
исходный код

InteractiveUtils.versioninfoФункция

versioninfo(io::IO=stdout; verbose::Bool=false)

Вывод информации о версии используемого Julia. Вывод контролируется булевыми ключевыми аргументами:

  • verbose: вывести всю дополнительную информацию
исходный код

InteractiveUtils.methodswithФункция

methodswith(typ[, module or function]; supertypes::Bool=false])

Возвращает массив методов с аргументом типа typ.

Необязательный второй аргумент сужает поиск до определённого модуля или функции (по умолчанию — все модули верхнего уровня).

Если ключевой аргумент supertypes равен true, также возвращает аргументы с родительским типом typ, исключая тип Any.

исходный код

InteractiveUtils.subtypesФункция

subtypes(T::DataType)

Возвращает список непосредственных подтипов типа данных T. Обратите внимание, что включаются все загруженные в данный момент подтипы, включая те, которые не видны в текущем модуле.

Примеры

julia> subtypes(Integer)
3-element Vector{Any}:
 Bool
 Signed
 Unsigned
исходный код

InteractiveUtils.supertypesФункция

supertypes(T::Type)

Возвращает кортеж (T, ..., Any) типа T и всех его надтипов, как определено последовательными вызовами функции supertype, упорядоченных по <: и завершённых Any.

Примеры

julia> supertypes(Int)
(Int64, Signed, Integer, Real, Number, Any)
исходный код

InteractiveUtils.editМетод

edit(path::AbstractString, line::Integer=0)

Редактирование файла или каталога, необязательно с указанием номера строки для редактирования файла. Возвращение к приглашению julia при выходе из редактора. Редактор можно изменить, установив JULIA_EDITOR, VISUAL или EDITOR как переменную среды.

См. также: define_editor

исходный код

InteractiveUtils.editМетод

edit(function, [types])
edit(module)

Редактирование определения функции, необязательно указав кортеж типов, чтобы указать, какой метод редактировать. Для модулей открывается основной файл исходного кода. Модуль необходимо предварительно загрузить с помощью using или import.

edit для модулей требует как минимум Julia 1.1.

Для того, чтобы файл мог быть открыт на указанной строке, может потребоваться предварительный вызов define_editor.

исходный код

InteractiveUtils.@editМакрос

@edit

Вычисляет аргументы вызова функции или макроса, определяет их типы и вызывает функцию edit над полученным выражением.

исходный код

InteractiveUtils.define_editorФункция

define_editor(fn, pattern; wait=false)

Определяет новый редактор, соответствующий pattern для открытия файла (возможно, на заданном номере строки) с помощью fn.

Аргумент fn — функция, которая определяет, как открыть файл с помощью заданного редактора. Она должна принимать три аргумента:

  • cmd - базовый объект команды редактора
  • path - путь к файлу исходного кода для открытия
  • line - номер строки для открытия редактора

Редакторы, которые не могут открыть файл на конкретной строке с помощью команды, могут проигнорировать аргумент line.

Обратный вызов fn должен вернуть либо соответствующий объект Cmd для открытия файла, либо nothing для указания невозможности редактирования файла. Используйте nothing для обозначения того, что данный редактор не подходит для текущей среды, и следует попробовать другой. Можно добавить более общие плагины редактирования, которые не требуют запуска внешних команд, добавив обратный вызов непосредственно в вектор EDITOR_CALLBACKS.

Аргумент pattern - строка, регулярное выражение или массив строк и регулярных выражений. Для вызова fn одно из шаблонов должно соответствовать значению EDITOR, VISUAL или JULIA_EDITOR.

Для строк строка должна совпадать с basename первого слова команды редактора, без расширения (если есть). Например, «vi» не соответствует «vim -g», но соответствует «/usr/bin/vi -m»; также соответствует vi.exe.

Если pattern — регулярное выражение, оно сопоставляется со всей командой редактора как экранированная строка оболочки. Массив шаблонов соответствует, если соответствует любой из его элементов.

Если совпадает несколько редакторов, используется тот, который был добавлен последним.

По умолчанию Julia не ожидает закрытия редактора, запуская его в фоновом режиме. Однако, если редактор основан на терминале, вы, вероятно, захотите установить wait=true, и Julia будет ждать закрытия редактора перед возобновлением работы.

Если одна из переменных среды редактора установлена, но ни один из записей редактора ей не соответствует, вызывается запись по умолчанию:

(cmd, path, line) -> `$cmd $path`

Обратите внимание, что многие редакторы уже определены. Все следующие команды должны уже работать:

  • emacs
  • emacsclient
  • vim
  • nvim
  • nano
  • textmate
  • mate
  • kate
  • subl
  • atom
  • notepad++
  • Visual Studio Code
  • open
  • pycharm
  • bbedit

Пример:

Следующее определяет использование терминального emacs:

define_editor(
    r"\bemacs\b.*\s(-nw|--no-window-system)\b", wait=true) do cmd, path, line
    `$cmd +$line $path`
end

define_editor был введён в Julia 1.4.

исходный код

InteractiveUtils.lessМетод

less(file::AbstractString, [line::Integer])

Отображение файла с помощью стандартного просмотрщика, необязательно с указанием начальной строки. Возвращение к приглашению julia при выходе из просмотрщика.

исходный код

InteractiveUtils.lessМетод

less(function, [types])

Отображение определения функции с помощью стандартного просмотрщика, необязательно указав кортеж типов, чтобы указать, какой метод отобразить.

исходный код

InteractiveUtils.@lessМакрос

@less

Вычисляет аргументы вызова функции или макроса, определяет их типы и вызывает функцию less над полученным выражением.

исходный код

InteractiveUtils.@whichМакрос

@which

Применяется к вызову функции или макроса, вычисляет аргументы указанного вызова и возвращает объект Method для метода, который был бы вызван для этих аргументов. Применяется к переменной, возвращает модуль, в котором была связана переменная. Вызывает функцию which.

исходный код

InteractiveUtils.@functionlocМакрос

@functionloc

Применяется к вызову функции или макроса, вычисляет аргументы указанного вызова и возвращает кортеж (filename,line) с местоположением метода, который был бы вызван для этих аргументов. Вызывает функцию functionloc.

исходный код

InteractiveUtils.@code_loweredМакрос

@code_lowered

Вычисляет аргументы вызова функции или макроса, определяет их типы и вызывает code_lowered для полученного выражения.

исходный код

InteractiveUtils.@code_typedМакрос

@code_typed

Вычисляет аргументы вызова функции или макроса, определяет их типы и вызывает code_typed для полученного выражения. Используйте необязательный аргумент optimize с

@code_typed optimize=true foo(x)

чтобы управлять применением дополнительных оптимизаций, таких как встраивание.

исходный код

InteractiveUtils.code_warntypeФункция

code_warntype([io::IO], f, types; debuginfo=:default)

Выводит пониженные и типизированные AST для методов, соответствующих заданной родовой функции и типу подписи в io, по умолчанию stdout. AST аннотированы таким образом, что «нелистовые» типы выделяются (если доступен цвет, отображаются красным). Это служит предупреждением о потенциальной нестабильности типов. Не все нелистовые типы представляют особую проблему для производительности, поэтому результаты следует использовать осмотрительно. В частности, объединения, содержащие либо missing, либо nothing, отображаются жёлтым цветом, поскольку они часто являются преднамеренными.

Необязательный ключевой аргумент debuginfo может быть одним из :source или :none (по умолчанию), чтобы указать уровень подробности комментариев к коду.

См. @code_warntype для получения дополнительной информации.

исходный код

InteractiveUtils.@code_warntypeМакрос

@code_warntype

Вычисляет аргументы вызова функции или макроса, определяет их типы и вызывает code_warntype для полученного выражения.

исходный код

InteractiveUtils.code_llvmФункция

code_llvm([io=stdout,], f, types; raw=false, dump_module=false, optimize=true, debuginfo=:default)

Выводит LLVM-биткоды, сгенерированные для выполнения метода, соответствующего заданной родовой функции и типу подписи, в io.

Если ключевой аргумент optimize не задан, код будет показан до оптимизаций LLVM. Все метаданные и вызовы dbg.* удаляются из выводимого биткода. Для полного IR установите ключевой аргумент raw в значение true. Чтобы вывести весь модуль, содержащий функцию (с объявлениями), установите ключевой аргумент dump_module в значение true. Ключевой аргумент debuginfo может быть source (по умолчанию) или none, чтобы указать уровень подробности комментариев к коду.

исходный код

InteractiveUtils.@code_llvmМакрос

@code_llvm

Вычисляет аргументы вызова функции или макроса, определяет их типы и вызывает code_llvm для полученного выражения. Установите необязательные ключевые аргументы raw, dump_module, debuginfo, optimize перед вызовом функции, например так:

@code_llvm raw=true dump_module=true debuginfo=:default f(x)
@code_llvm optimize=false f(x)

optimize управляет применением дополнительных оптимизаций, таких как встраивание. raw делает все метаданные и вызовы dbg.* видимыми. debuginfo может быть одним из :source (по умолчанию) или :none, чтобы указать уровень подробности комментариев к коду. dump_module выводит весь модуль, содержащий функцию.

исходный код

InteractiveUtils.code_nativeФункция

code_native([io=stdout,], f, types; syntax=:att, debuginfo=:default)

Выводит инструкции машинного кода, сгенерированные для выполнения метода, соответствующего заданной родовой функции и типу подписи, в io.

Переключить синтаксис ассемблера с помощью символа syntax в :att для синтаксиса AT&T или :intel для синтаксиса Intel.

Ключевой аргумент debuginfo может быть source (по умолчанию) или none, чтобы указать уровень подробности комментариев к коду.

исходный код

InteractiveUtils.@code_nativeМакрос

@code_native

Вычисляет аргументы вызова функции или макроса, определяет их типы и вызывает code_native для полученного выражения.

Установите необязательный ключевой аргумент debuginfo перед вызовом функции, например так:

@code_native debuginfo=:default f(x)

debuginfo может быть одним из :source (по умолчанию) или :none, чтобы указать уровень подробности комментариев к коду.

исходный код

InteractiveUtils.clipboardФункция

clipboard(x)

Отправить отформатированную версию x в буфер обмена операционной системы («копировать»).

исходный код
clipboard() -> AbstractString

Возвращает строку с содержимым буфера обмена операционной системы («вставить»).

исходный код

© 2009–2021 Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and other contributors
Licensed under the MIT License.
https://docs.julialang.org/en/v1.6.0/stdlib/InteractiveUtils/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API