Spec-Zone.ru › Julia 1.5

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

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

apropos(string)

Поиск по всей документации по строке, игнорируя регистр.

исходный код

InteractiveUtils.varinfoФункция

varinfo(m::Module=Main, pattern::Regex=r"")

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

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

исходный код

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 Array{Any,1}:
 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)[@ref]

исходный код

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 bitcode для выполнения метода, соответствующего заданной обобщенной функции и типу подписи, в io.

Если ключевой аргумент optimize не задан, код будет показан до оптимизаций LLVM. Все метаданные и вызовы dbg.* удаляются из выводимого bitcode. Для полного 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–2020 Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and other contributors
Licensed under the MIT License.
https://docs.julialang.org/en/v1.5.3/stdlib/InteractiveUtils/

Spec-Zone.ru

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