., _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.
Следующие комбинации возможны:
object1 | object2 | object1. object2 |
|---|---|---|
| строка | строка | строка |
| строка | идентификатор | строка |
| строка | целое число | строка |
| строка | выражение | строка |
| идентификатор | строка | идентификатор |
| идентификатор | идентификатор | идентификатор |
| идентификатор | целое число | идентификатор |
| идентификатор | выражение | идентификатор |
| список | список | список |
Например, x.1 создает идентификатор x1.
Обратите внимание на то, что объекты, которые будут конкатенированы, оценены перед конкатенацией. Таким образом, если x := y, i := 1, конкатенация x.i производят идентификатор y1. Однако получившийся идентификатор y1 не полностью оценен. Cf. Пример 2.
Мы демонстрируем все возможные комбинации типов, которые могут быть конкатенированы. Строки производятся, если первый объект является строкой:
"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:
Мы демонстрируем стратегию оценки конкатенации. Перед конкатенацией оценены объекты:
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:
Функциональный _concat может использоваться, чтобы конкатенировать произвольное число объектов:
_concat("an", " ", "ex", "am", "ple")![]()
_concat("0", " ".i $ i = 1..15)![]()
_concat([], [x.i] $ i = 1..10)
![]()
|
Символьная строка, идентификатор или список |
|
Символьная строка, идентификатор, целое число, список или выражение |
Объект того же типа как object1.
object_1, object_2