在线文档教程

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) {"", ">"}