Elixir v1.4.5 StringIO View Source
Controls an IO device process that wraps a string.
A StringIO IO device can be passed as a “device” to
most of the functions in the IO module.
Examples
iex> {:ok, pid} = StringIO.open("foo")
iex> IO.read(pid, 2)
"fo"Link to this section Summary
Functions
Stops the IO device and returns the remaining input/output buffers
Returns the current input/output buffers for the given IO device
Flushes the output buffer and returns its current contents
Creates an IO device
Link to this section Functions
Stops the IO device and returns the remaining input/output buffers.
Examples
iex> {:ok, pid} = StringIO.open("in")
iex> IO.write(pid, "out")
iex> StringIO.close(pid)
{:ok, {"in", "out"}}Returns the current input/output buffers for the given IO device.
Examples
iex> {:ok, pid} = StringIO.open("in")
iex> IO.write(pid, "out")
iex> StringIO.contents(pid)
{"in", "out"}Flushes the output buffer and returns its current contents.
Examples
iex> {:ok, pid} = StringIO.open("in")
iex> IO.write(pid, "out")
iex> StringIO.flush(pid)
"out"
iex> StringIO.contents(pid)
{"in", ""}Creates an IO device.
string will be the initial input of the newly created
device.
If the :capture_prompt option is set to true,
prompts (specified as arguments to IO.get* functions)
are captured.
Examples
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)
{"", ">"}