6. Присваивание с помощью функции deal

 

Присваивание с помощью функции deal

С помощью функции deal возможно множественное присваивание входных данных выходным:

  • [A.B,C,...]=deal(X,Y,Z,...) — обеспечивает последовательное присваивание входных данных выходным, то есть А=Х, B=Y, C=Z и т. д.;

  • [A,B,C....]=deal(X) — присваивает единственный вход всем выходам, т. е. А=Х, В=Х, С=Х и т. д.

Возможен ряд полезных применений функции deal:

  • [S.FIELD]=deal (X) — присваивает всем полям FIELD структуры S значения X. Если S не существует, то нужно использовать конструкцию [S(1:M)*.FIELD]= deal(X);

  • [X{:}]=dea1 (A. FIELD) — копирует поля FIELD структуры А в массив ячеек X. Если X не существует, следует использовать конструкцию [X{1:M}]=deal (A.FIELD);

  • [A,B,C,...]=deal (X{:}) — копирует содержимое массива ячеек X в отдельные переменные А, В, С,...;

  • [A,B,C,...]=deal(S.FIELD) — копирует содержимое поля FIELD массива структур S в отдельные переменные А, В, С,...;

Следующий пример иллюстрирует применение функции deal:

» [X,Y.Z]=deal(1,2+3i,'Привет!') 

X =

Y =

2.0000.+ 3.0000i 

Z =

Привет!

» [X Y Z]=dealС Привет!') 

X =

Привет!

 Y =

Привет! 

Z = 

Привет!