write
Запишите значения переменных в файл
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
write(<Bin | Text
>, <Encoding = "encodingValue"
>,filename
, <x1, x2, …
>) write(<Encoding = "encodingValue"
>,n
, <x1, x2, …
>)
write
служит для того, чтобы хранить информацию от текущего сеанса MuPAD® в файле. Файл содержит значения идентификаторов текущего сеанса. Эти идентификаторы присвоены сохраненные значения, когда этот файл читается в другой сеанс MuPAD через функциональный read
.
write(filename, x1, x2, ...)
хранит текущие значения идентификаторов x1
, x2
и т.д. к файлу filename
.
write(filename)
хранит значения всех идентификаторов, заданных на текущем сеансе к файлу filename
.
write(n)
и write(n, x1, x2, ...)
хранят данные в файле, сопоставленном с дескриптором файла n
.
write(..., Encoding = "encodingValue", ...)
хранит текущие значения идентификаторов в заданном кодировании только при записи в режиме Text
. Для поддерживаемой кодировки см. Опции. Можно использовать эту опцию с любым из ранее заданных синтаксисов.
Если файл задан его именем, write
создает новый файл или перезаписывает существующий файл; write
открывает и закрывает файл автоматически.
Если WRITEPATH
не имеет значения, write
интерпретирует имя файла как путь относительно “рабочей папки”.
Обратите внимание на то, что значение “рабочей папки” зависит от операционной системы. В системах Microsoft® Windows® и в системах Mac OS X, “рабочая папка” является папкой, где MATLAB® установлен. В системах UNIX® это - текущая рабочая папка, в которой был запущен MATLAB. Когда запущено с меню или настольного элемента, это обычно - домашняя папка пользователя.
Также абсолютные пути обрабатываются write
.
Вместо имени файла также может использоваться дескриптор файла файла, открытого через fopen
. Смотрите Пример 2. В этом случае данные, записанные write
, добавлены к соответствующему файлу. Файл не закрывается автоматически write
и должен быть закрыт последующим вызовом fclose
.
Обратите внимание на то, что fopen(filename)
открывает файл в режиме только для чтения. Последующая команда write
к этому файлу вызывает ошибку. Используйте Write
или опцию Append
fopen
, чтобы открыть файл для записи.
Дескриптор файла 0 представляет экран.
write
хранит процедуры опцией noExpose
в зашифрованном формате.
write
хранит значения данных идентификаторов, не их полную оценку! Смотрите Пример 3.
Функция чувствительна к переменной окружения WRITEPATH
. Если эта переменная имеет значение, файл создается в соответствующей папке. В противном случае файл создается в “рабочей папке”.
Переменная a
и ее значение b + 1
хранятся в файле с именем test
:
a := b + 1: fid := fopen(TempFile, Write, Text): write(fid, a):
Используйте fname
, чтобы возвратить имя временного файла, который вы создали:
file := fname(fid):
Содержимое этого файла отображено через ftextinput
:
ftextinput(file)
Удалите значение a
. При чтении файла test
восстанавливает предыдущее значение:
delete a: read(file): a
Для идентификаторов, которые не имеют никакого значения, write
пишет команду delete
в файл:
delete a: write(Text, 0, a):
delete a:
Файл test
открыт для записи использования двоичного формата MuPAD:
fid := fopen(TempFile): file := fname(fid): n := fopen(file, Write)
Этот номер является дескриптором файла и может использоваться в команде записи:
a := b + 1: write(n, a): fclose(n):
delete a: read(file): a
Очистка:
delete n, a:
Значение b + 1
присвоено идентификатору a
. После присвоения значения 2
к b
полная оценка a
приводит к 3
:
a := b + 1: b := 2: a
Обратите внимание, однако, что значение a
является выражением b + 1
. Это значение хранится командой write
:
fid := fopen(TempFile, Write, Text): write(fid, a): file := fname(fid): ftextinput(file)
Следовательно, это значение восстанавливается после чтения файла в сеанс MuPAD:
delete a, b: read(file): a
delete a:
write
, при записи двоичного формата, может сохранить процедуры опцией набор noExpose
. Они зашифрованы перед записью:
f := proc(a) option noExpose; begin print(a, a^2, a*a); end_proc:
write("hidden_proc.mb", f):
delete f:
read("hidden_proc.mb"):
f(-2...3); expose(f)
proc(a) name f; option noDebug, noExpose; begin /* Hidden */ end_proc
Это - намерение позади опции noExpose
: можно разработать код, который вы хотите не опубликовать, затем включаете option noExpose
в свои источники, повторно выполнить ваши тесты, использовать write
, чтобы записать версию двоичных файлов вашей библиотеки и распределить это.
Чтобы задать кодирование, чтобы записать данные, используйте Encoding
. Опция Encoding
применяется только к текстовым файлам, которые открыты с помощью имени файла и не дескриптора файла. Запишите значение идентификатора a:="abcäöü"
во временный файл в кодировании "UTF-8"
:
a:="abcäöü": write(Text,Encoding="UTF-8","write_test",a):
Задайте правильное кодирование, чтобы считать файл:
read("write_test", Encoding="UTF-8")
Если вы не задаете кодирование, системное кодирование по умолчанию используется. Таким образом ваш вывод может отличаться от показанного затем. Символы, нераспознанные системным кодированием по умолчанию, заменяются символом замены по умолчанию для того кодирования:
a:="abcäöü": write(Text, "write_test", a): read("write_test")
|
Имя файла: символьная строка |
| |
|
Дескриптор файла обеспечивается |
|
С В формате ASCII присвоениях формы | ||||||||||||||||||||||||||||||
|
Эта опция позволяет вам задать кодировку символов, чтобы использовать. Позволенная кодировка:
Кодировка по умолчанию системно-зависима. Если вы задаете кодирование неправильно, символы могут читать неправильно. Символы, нераспознанные кодированием, заменяются символом замены по умолчанию для заданного кодирования. Кодировка, не перечисленная здесь, может быть задана, но не может привести к правильным результатам. |
Пустой объект типа DOM_NULL
.