., _concat

Конкатенация объектов

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.

Синтаксис

object1. object2
_concat(object1, object2, …)

Описание

object_1.object_2 конкатенирует два объекта.

_concat( object1, object2, ...) конкатенирует произвольное число объектов.

_concat( object1, object2) эквивалентен object1. object2. Вызов функции _concat( object1, object2, object3, ...) эквивалентен (( object1. object2). object3). ... . _concat() возвращает пустой объект типа DOM_NULL.

Следующие комбинации возможны:

object1object2object1. object2
строкастрокастрока
строкаидентификаторстрока
строкацелое числострока
строкавыражениестрока
идентификаторстрокаидентификатор
идентификаторидентификаторидентификатор
идентификаторцелое числоидентификатор
идентификаторвыражениеидентификатор
списоксписоксписок

Например, x.1 создает идентификатор x1.

Обратите внимание на то, что объекты, которые будут конкатенированы, оценены перед конкатенацией. Таким образом, если x := y, i := 1, конкатенация x.i производят идентификатор y1. Однако получившийся идентификатор y1 не полностью оценен. Cf. Пример 2.

Примеры

Пример 1

Мы демонстрируем все возможные комбинации типов, которые могут быть конкатенированы. Строки производятся, если первый объект является строкой:

"x"."1", "x".y, "x".1, "x".f(a)

Идентификаторы производятся, если первый объект является идентификатором:

x."1", x.y , x.1, x.f(a)

Оператор конкатенации . также служит для конкатенации списков:

[1, 2] . [3, 4]

L := []: for i from 1 to 10 do L := L . [x.i] end_for: L

delete L:

Пример 2

Мы демонстрируем стратегию оценки конкатенации. Перед конкатенацией оценены объекты:

x := "Val": i := ue: x.i

ue := 1:  x.i

Идентификатор, произведенный через конкатенацию, не полностью оценен:

delete x: x1 := 17: x.1, eval(x.1)

Оператор . может использоваться, чтобы создать переменные динамически. Они могут сразу быть присвоенными значениями:

delete x: for i from 1 to 5 do x.i := i^2 end_for:

Снова, результат конкатенации не полностью оценен:

x.i $ i= 1..5

eval(%)

delete i, ue: (delete x.i) $ i = 1..5:

Пример 3

Функциональный _concat может использоваться, чтобы конкатенировать произвольное число объектов:

_concat("an", " ", "ex", "am", "ple")

_concat("0", " ".i $ i = 1..15)

_concat([], [x.i] $ i = 1..10)

Параметры

object1

Символьная строка, идентификатор или список

object2, …

Символьная строка, идентификатор, целое число, список или выражение

Возвращаемые значения

Объект того же типа как object1.

Перегруженный

object_1, object_2

Смотрите также

Функции MuPAD