functions

Информация о указателе на функцию

Синтаксис

Описание

пример

s = functions(fh) возвращает информацию о указателе на функцию. Эта информация включает имя функции, тип и имя файла.

Используйте functions функция только для запросов и отладки.

Примечание

Не используйте functions программно, потому что его поведение может измениться в последующем MATLAB® релизы.

Примеры

свернуть все

Создайте указатель на функцию и отобразите его информацию.

fh = @cos;
s = functions(fh)
s = struct with fields:
    function: 'cos'
        type: 'simple'
        file: ''

Создайте указатель на функцию для анонимной функции. Отобразите его информацию и значения необходимых переменных.

Создайте указатель на функцию x2 + y, и активируйте функцию с помощью указателя.

y = 7;
fh = @(x)x.^2+y;
z = fh(2)
z =

    11

Отображение информации о указателе на функцию.

s = functions(fh)
s = 

            function: '@(x)x.^2+y'
                type: 'anonymous'
                file: ''
           workspace: {[1x1 struct]}
    within_file_path: '__base_function'

Указатель на функцию содержит необходимое значение y.

s.workspace{1}
ans = 

    y: 7

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

Создайте следующую функцию в файле, functionsExample.m, в рабочей папке. Функция возвращает указатели на вложенную и локальную функцию.

function [hNest,hLocal] = functionsExample(v)

hNest = @nestFunction;
hLocal = @localFunction;

    function y = nestFunction(x)
        y = x + v;
    end

end

function y = localFunction(z)
y = z + 1;
end

Активируйте функцию.

[hNest,hLocal] = functionsExample(13)
hNest = 

    @functionsExample/nestFunction


hLocal = 

    @localFunction

Отображение информации о указателе на вложенную функцию.

s1 = functions(hNest)
s1 = 

     function: 'functionsExample/nestFunction'
         type: 'nested'
         file: 'C:\work\functionsExample.m'
    workspace: {[1x1 struct]}

Отображение информации о указателе на локальную функцию.

s2 = functions(hLocal)
s2 = 

     function: 'localFunction'
         type: 'scopedfunction'
         file: 'C:\work\functionsExample.m'
    parentage: {'localFunction'  'functionsExample'}

Входные параметры

свернуть все

Указатель на запрос, заданный как указатель на функцию.

Выходные аргументы

свернуть все

Информация о указателе на функцию, возвращенная как структура. Структура содержит следующие поля.

Имя поля

Описание поля

function

Имя функции. Если функция, связанная с указателем, является вложенной функцией, имя функции принимает форму main_function/ nested_function.

type

Тип функции. Для примера 'simple', 'nested', 'scopedfunction', или 'anonymous'.

file

Полный путь к функции с расширением файла.

  • Если функция является локальной или вложенной, то file - полный путь к основной функции.

  • Если функция встроена в функцию MATLAB, то file - пустой символьный массив ('').

  • Если функция является анонимной функцией и задана в командной строке или в файле, отличном от пути MATLAB, то file - пустой символьный массив ('').

  • Если функция является анонимной функцией и задана в файле на пути MATLAB, то file - полный путь к файлу.

  • Если вы загружаете сохраненный указатель на функцию, то file - пустой символьный массив ('').

Структура имеет дополнительные поля в зависимости от типа функции, связанной с указателем. Например, локальная функция имеет parentage поле, и анонимная функция имеет workspace поле. Используйте информацию в s только для запросов и отладки.

Представлено до R2006a