Erlang, нужно ли здесь закрывать файл? - PullRequest
7 голосов
/ 08 января 2010

При использовании file:read_file(x) необходимо закрыть возвращаемый файл?

{ok, File} = file:read_file("maillog.sample"), 
file:close(File),

Ответы [ 2 ]

10 голосов
/ 08 января 2010

Это не файл, а содержимое возвращаемого файла. Таким образом, нет файла для закрытия. Попробуйте изменить имя переменной на Data или подобное, как показано в коде ниже:

{ok, Data} = file:read_file("maillog.sample"),

Данные будут содержать содержимое файла "maillog.sample". Файл функции: read_file / 1 откроет, прочитает и закроет файл для вас, все за один раз.

8 голосов
/ 08 января 2010

Нет, нет необходимости закрывать файлы для file:read_file и file:consult.

Как бы вы закрыли его, если у вас даже нет дескриптора файла?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...