首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

扫码关注腾讯云开发者

领取腾讯云代金券