Spec-Zone.ru › Julia 1.4

Утилиты взаимодействия

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.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
  • vim
  • nvim
  • nano
  • textmate
  • mate
  • kate
  • subl
  • atom
  • notepad++
  • Visual Studio Code
  • open
  • pycharm

Пример:

Следующее определяет использование терминального 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 над полученным выражением.

исходный код
END_OF_DOCUMENT_MARKER

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–2020 Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and other contributors
Licensed under the MIT License.
https://docs.julialang.org/en/v1.4.2/stdlib/InteractiveUtils/

Spec-Zone.ru

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