Интерактивные утилиты
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 как переменную среды.
InteractiveUtils.editМетод
edit(function, [types]) edit(module)
Редактирование определения функции, необязательно указывая кортеж типов для указания метода для редактирования. Для модулей открывается основной исходный файл. Модуль необходимо предварительно загрузить с помощью using или import.
edit для модулей требуется как минимум Julia 1.1.
Редактор можно изменить, задав JULIA_EDITOR, VISUAL или EDITOR как переменную среды.
InteractiveUtils.@editМакрос
@edit
Вычисляет аргументы вызова функции или макроса, определяет их типы и вызывает функцию edit для полученного выражения.
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
Возвращает строку с содержимым буфера обмена операционной системы ("вставить").
source
© 2009–2020 Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and other contributors
Licensed under the MIT License.
https://docs.julialang.org/en/v1.3.1/stdlib/InteractiveUtils/