非常教程

Elixir 1.5参考手册

StringIO

StringIO

控制包装字符串的IO设备进程。

StringIOIo设备可以作为“设备”传递到IO模块。

实例

iex> {:ok, pid} = StringIO.open("foo")
iex> IO.read(pid, 2)
"fo"

功能

close(pid)

停止IO设备并返回剩余的输入/输出缓冲区。

contents(pid)

返回给定IO设备的当前输入/输出缓冲区。

flush(pid)

刷新输出缓冲区并返回其当前内容。

open(string, options \ [])

创建IO设备

close(pid)

close(pid) :: {:ok, {binary, binary}}

停止IO设备并返回剩余的输入/输出缓冲区。

实例

iex> {:ok, pid} = StringIO.open("in")
iex> IO.write(pid, "out")
iex> StringIO.close(pid)
{:ok, {"in", "out"}}

contents(pid)

contents(pid) :: {binary, binary}

返回给定IO设备的当前输入/输出缓冲区。

实例

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}

创建IO设备。

string将是新创建的设备的初始输入。

如果该:capture_prompt选项设置为trueIO.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)
{"", ">"}

StringIO相关

Elixir 1.5

Elixir 基于 Erlang 虚拟机的函数式、面向并行,是一种较好的编程语言。它以 Erlang 为基础,支持分布式、高容错、实时应用程序的开发。

主页 https://elixir-lang.org/
源码 https://github.com/elixir-lang/elixir
版本 1.5
发布版本 1.5.2