StringIO
StringIO
控制包装字符串的IO设备进程。
阿StringIO
Io设备可以作为“设备”传递到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
选项设置为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)
{"", ">"}