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"):
|
Имя файла: символьная строка |
|
Дескриптор файла обеспечивается |
|
Делает При использовании этой опции файл читается в новом контексте синтаксического анализатора. Это означает что история, как возвращено командой | ||||||||||||||||||||||||||||||
|
Подавляет выход во время выполнения При использовании этой опции выход подавлен при чтении и выполнении файла. Однако предупреждения и сообщения об ошибке, а также выход | ||||||||||||||||||||||||||||||
|
Эта опция позволяет вам задать кодировку символов, чтобы использовать. Позволенная кодировка:
Кодировка по умолчанию системно-зависима. Если вы задаете кодирование неправильно, символы могут читать неправильно. Символы, нераспознанные кодированием, заменяются символом замены по умолчанию для заданного кодирования. Кодировка, не перечисленная здесь, может быть задана, но не может привести к правильным результатам. |
Возвращаемое значение последнего оператора файла.