fread
Считайте и выполните файл
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
fread(filename | n
, <Quiet>, <Plain>, <Encoding = "encodingValue"
>)
fread(file)
читает и выполняет файл MuPAD®.
fread(filename)
читает файл и оценивает каждый оператор MuPAD в файле. Если концы имени файла в “.gz
” и файле будут в gzip
- сжатый формат, это будет прозрачно несжатым после чтения. fread
автоматически открывает файл, выполняет операцию чтения и закрывает файл.
fread(..., Encoding = "encodingValue")
использует заданное кодирование. Для поддерживаемой кодировки см. Опции. Можно использовать эту опцию с ранее заданными синтаксисами.
fread
подобен read
. Единственная разница - то, что fread
не ищет файлы в папках, данных READPATH
и путем к библиотеке; fread
только ищет файл относительно “рабочей папки”.
Обратите внимание на то, что значение “рабочей папки” зависит от операционной системы. В системах Windows® и в системах Mac OS X, “рабочая папка” является папкой, где MATLAB® установлен. В системах UNIX® это - текущая рабочая папка, в которой был запущен MATLAB. Когда запущено с меню или настольного элемента, это обычно - домашняя папка пользователя.
Также абсолютные пути обрабатываются fread
.
fread
может считать двоичные файлы MuPAD (созданный через fprint
или write
), а также текстовые ASCII-файлы. fread
распознает формат файла автоматически.
Вместо имени файла может также использоваться дескриптор файла файла, открытого через fopen
. Смотрите Пример 3. Когда дескриптор файла используется, fread
автоматически не открывает и закрывает файл. fclose
должен использоваться, чтобы закрыть файл.
Когда файл читается с fread
, переменная FILEPATH
содержит путь файла.
Создайте новый файл во временной папке системы. Имя временной папки отличается для других платформ. Команда fopen
с опцией TempFile
создает файл во временной папке любой системы (если такая папка существует):
fid := fopen(TempFile, Write, Text): fprint(Unquoted, fid, "a := 3; b := 5; a + b;"):
Используйте fname
, чтобы возвратить имя временного файла, который вы создали. Используйте fclose
, чтобы закрыть файл:
file := fname(fid): fclose(fid)
При чтении файла MuPAD выполняет операторы. Каждый производит печать вывод. Второй 8
ниже является возвращаемым значением fread
:
delete a, b: fread(file);
Теперь, переменным a
и b
присвоили значения в файле:
a, b
С опцией Quiet
только распечатано возвращаемое значение fread
:
delete a, b: fread(file, Quiet)
delete a, b:
Следующий пример демонстрирует опцию Plain
. Во-первых, соответствующий входной файл создается:
fid := fopen(TempFile, Write, Text): fprint(Unquoted, fid, "f := proc(x) begin x^2 end_proc:", "a := f(3): b := f(4):"): file := fname(fid): fclose(fid)
Задайте alias
для f
:
alias(f = "some text"):
Ошибка происходит, при попытке считать файл без опции Plain
. В контексте синтаксического анализатора сеанса MuPAD псевдоним заменяет f
соответствующей строкой в присвоении f := ...
. Однако строки не могут быть присвоены значение:
fread(file)
Error: Invalid left-hand side. [_assign] Reading File: /tmp/mupad.351omQ
С опцией Plain
не возникает никакая такая ошибка: псевдоним для f
проигнорирован fread
:
fread(file, Plain): a, b
unalias(f): delete f, a, b:
Вы используете write
, чтобы сохранить значение идентификатора a
во временном файле:
a := PI + 1: fid := fopen(TempFile, Write, Text): file := fname(fid): write(file, a): delete a:
Этот файл открыт для чтения с fopen
:
n := fopen(file):
Дескриптор файла, возвращенный fopen
, может быть передан fread
. Чтение файла восстанавливает значение a
:
fread(n): a
fclose(n): delete a:
Чтобы задать кодирование для чтения данных, используйте Encoding
. Опция Encoding
применяется только к текстовым файлам, которые открыты с помощью имени файла и не дескриптора файла. Откройте временный файл и напишите оператор str := "abcäöü"
в кодировании "UTF-8"
:
fprint(Unquoted, Text, Encoding="UTF-8", "fread_test", "str := \"abcäöü\"")
Задайте кодирование, чтобы считать файл. fread
выполняет оператор:
fread("fread_test", Encoding="UTF-8"):
Если вы не задаете кодирование, системное кодирование по умолчанию используется. Таким образом ваш вывод может отличаться от показанного затем. Символы, нераспознанные системным кодированием по умолчанию, заменяются символом замены по умолчанию для того кодирования:
fread("fread_test"):
|
Имя файла: символьная строка |
|
Дескриптор файла обеспечивается |
|
Заставляет При использовании этой опции файл читается в новом контексте синтаксического анализатора. Это означает, что история, как возвращено командой | ||||||||||||||||||||||||||||||
|
Подавляет вывод во время выполнения При использовании этой опции вывод подавлен при чтении и выполнении файла. Однако предупреждения и сообщения об ошибке, а также вывод команд | ||||||||||||||||||||||||||||||
|
Эта опция позволяет вам задать кодировку символов, чтобы использовать. Позволенная кодировка:
Кодировка по умолчанию системно-зависима. Если вы задаете кодирование неправильно, символы могут читать неправильно. Символы, нераспознанные кодированием, заменяются символом замены по умолчанию для заданного кодирования. Кодировка, не перечисленная здесь, может быть задана, но не может привести к правильным результатам. |
Возвращаемое значение последнего оператора файла.