Spec-Zone.ru › Elixir 1.3

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.t) :: {: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.3.4/StringIO.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API