StringIO
Управляет процессом устройства ввода-вывода, обернутым вокруг строки.
Устройство ввода-вывода StringIO может быть передано в качестве «устройства» большинству функций модуля IO.
Примеры
iex> {:ok, pid} = StringIO.open("foo")
iex> IO.read(pid, 2)
"fo" Резюме
Функции
- close(pid)
-
Останавливает устройство ввода-вывода и возвращает оставшиеся буферы ввода-вывода
- contents(pid)
-
Возвращает текущие буферы ввода-вывода для данного устройства ввода-вывода
- flush(pid)
-
Очищает буфер вывода и возвращает его текущее содержимое
- open(string, options \\ [])
-
Создаёт устройство ввода-вывода
Функции
close(pid)
close(pid()) :: {:ok, {binary(), binary()}} Останавливает устройство ввода-вывода и возвращает оставшиеся буферы ввода-вывода.
Примеры
iex> {:ok, pid} = StringIO.open("in")
iex> IO.write(pid, "out")
iex> StringIO.close(pid)
{:ok, {"in", "out"}} contents(pid)
contents(pid()) :: {binary(), binary()} Возвращает текущие буферы ввода-вывода для данного устройства ввода-вывода.
Примеры
iex> {:ok, pid} = StringIO.open("in")
iex> IO.write(pid, "out")
iex> StringIO.contents(pid)
{"in", "out"} flush(pid)
flush(pid()) :: binary()
Очищает буфер вывода и возвращает его текущее содержимое.
Примеры
iex> {:ok, pid} = StringIO.open("in")
iex> IO.write(pid, "out")
iex> StringIO.flush(pid)
"out"
iex> StringIO.contents(pid)
{"in", ""} open(string, options \\ [])
open(binary(), keyword()) :: {:ok, pid()} Создаёт устройство ввода-вывода.
string будет начальным вводом нового устройства.
Если параметр :capture_prompt установлен в true, запросы (указанные в качестве аргументов функциям IO.get*) будут захвачены.
Примеры
iex> {:ok, pid} = StringIO.open("foo")
iex> IO.gets(pid, ">")
"foo"
iex> StringIO.contents(pid)
{"", ""}
iex> {:ok, pid} = StringIO.open("foo", capture_prompt: true)
iex> IO.gets(pid, ">")
"foo"
iex> StringIO.contents(pid)
{"", ">"}
© 2012 Plataformatec
Licensed under the Apache License, Version 2.0.
https://hexdocs.pm/elixir/1.5.3/StringIO.html