.
, _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
не полностью оценен. См. Пример 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