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

Примеры

Пример 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, Text

С 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