expr2text

Преобразуйте объекты в символьные строки

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

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

Синтаксис

expr2text(object)

Описание

expr2text(object) преобразует object в символьную строку. Результат обычно соответствует экрану выход object когда PRETTYPRINT установлен в FALSE.

Если функция вызвана без аргументов, то пустая строка символов создается. Если больше чем один аргумент дан, аргументы интерпретированы как последовательность выражения и преобразованы в односимвольную строку.

Как большая часть другой функции MuPAD®, expr2text оценивает его аргументы перед преобразованием.

Если строки происходят в object, они будут заключены в кавычки в результате.

Примеры

Пример 1

Выражения преобразованы в символьные строки:

expr2text(a + b)

expr2text строки кавычек. Обратите внимание на то, что кавычкам предшествует обратная косая черта, когда они распечатаны на экране:

expr2text(["text", 2])

Пример 2

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

expr2text(a, b, c)

Если никакой аргумент не дан, пустая строка сгенерирована:

expr2text()

Пример 3

expr2text оценивает его аргументы:

a := b: c := d: expr2text(a, c)

Используйте hold предотвратить оценку:

expr2text(hold(a, c));
delete a, c:

Вот другой пример:

expr2text((a := b; c := d));
delete a, c:

e := expr2text(hold((a := b; c := d)))

Последняя строка содержит символ новой строки “\\n”. Используйте print с опцией Unquoted расширять это в новую строку:

print(Unquoted, e):
(a := b;
c := d)

Пример 4

expr2text является сверхзагружаемым. Это использует выход по умолчанию в элементах области, если область не имеет ни одного "print"паз, ни "expr2text"паз:

T := newDomain("T"): e := new(T, 1):
e;
print(e):
expr2text(e)

Если "print" паз существует, он будет вызван expr2text сгенерировать выход:

T::print := proc(x) begin
  _concat("foo: ", expr2text(extop(x)))
end_proc:
e;
print(e):
expr2text(e)

Если вы хотите expr2text сгенерировать выход, отличающийся от обычного выхода, сгенерированного print, можно предоставить "expr2text" метод:

T::expr2text := proc(x) begin
  _concat("bar: ", expr2text(extop(x)))
end_proc:
e;
print(e):
expr2text(e)

Параметры

object

Любой объект MuPAD

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

string.

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

object

Алгоритмы

При обработке доменного элемента e, expr2text первые попытки вызвать "expr2text" метод соответствующего доменного T. Если это существует, T::expr2text(e) называется и результат возвращен. Если никакой "expr2text" метод существует, expr2text попытки вызвать "print" метод таким же образом. Если никакой "print" метод существует также, expr2text сгенерирует выход по умолчанию. См. Пример 4.

"expr2text" метод или "print" метод может возвратить произвольный объект MuPAD, который будет обработан рекурсивно expr2text.

Примечание

Возвращенный объект не должен содержать доменный элемент e как подобъект. В противном случае ядро MuPAD сталкивается с бесконечной рекурсией и испускает сообщение об ошибке.

Для выражений, результат, возвращенный expr2text всегда совпадает с выходом, произведенным print. Если 0th операнд выражения является функциональной средой, результатом expr2text вычисляется вторым операндом функциональной среды.

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

Функции MuPAD