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, ...) хранит текущие значения идентификаторов x1x2 и т.д. к файлу 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. Если эта переменная имеет значение, файл создается в соответствующей папке. В противном случае файл создается в “рабочей папке”.

Примеры

Пример 1

Переменная 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:

Пример 2

Файл 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:

Пример 3

Значение 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:

Пример 4

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 использования записать версию двоичных файлов вашей библиотеки и распределить это.

Пример 5

Чтобы задать кодирование, чтобы записать данные, используйте 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")

Параметры

filename

Имя файла: символьная строка

x1, x2, …

идентификаторы

n

Дескриптор файла обеспечивается fopen: неотрицательное целое число

Опции

BinТекст

С Bin, данные хранятся в двоичном формате MuPAD. С Text, стандартный формат ASCII используется. Значением по умолчанию является Bin.

В формате ASCII, присвоениях формы identifier := hold(value): или delete identifier: записаны в файл. Смотрите Пример 1.

Encoding

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

"Big5"

"ISO-8859-1"

"windows-932"

"EUC-JP"

"ISO-8859-2"

"windows-936"

"GBK"

"ISO-8859-3"

"windows-949"

"KSC_5601"

"ISO-8859-4"

"windows-950"

"Macintosh"

"ISO-8859-9"

"windows-1250"

"Shift_JIS"x

"ISO-8859-13"

"windows-1251"

"US-ASCII"

"ISO-8859-15"

"windows-1252"

"UTF-8"

 

"windows-1253"

  

"windows-1254"

  

"windows-1257"

Кодировка по умолчанию системно-зависима. Если вы задаете кодирование неправильно, символы могут читать неправильно. Символы, нераспознанные кодированием, заменяются символом замены по умолчанию для заданного кодирования.

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

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

Пустой объект типа DOM_NULL.

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

Функции MuPAD