泛函编程(36)-泛函Stream IO:IO数据源-IO Source & Sink

  • 时间:
  • 浏览:12
  • 来源:大发5分排列3_大发5分排列3官方

现在亲戚朋友来看看俩个 文件读取的ResourceR例子:

 上期亲戚朋友讨论了IO处理过程:Process[I,O]。亲戚朋友说Process就像电视信号盒子一样有输入端和输出端两头。Process之间不能 用俩个 Process的输出端与曾经Process的输入端连接起来形成一串具备多项数据处理功能的详细IO过程。但合成的IO过程两头输入端则须要接到俩个 数据源,而另外一端则可能性会接到俩个 数据接收设备如文件、显示屏等。亲戚朋友在这篇简单地先介绍一下IO数据源Source和IO数据接收端Sink。

亲戚朋友再来看看俩个 Source特殊案例:

注意:无论读取完成或中途失败退出都是原因分析 现场清理以处理资源漏出。不能 推断这种interpreter还是很安全的。

从以上trait不能 就看:Source的工作原理就说 把俩个 Process的输入黏放上Source的输出端。亲戚朋友不能 用这种 |> 把一串Process粘到Source的输出,如:Src.proc1.proc2.proc3。不过亲戚朋友得先把proc1,proc2,proc3定义成Source组件函数,可能性Source是俩个 详细独立的类型。

以下是俩个 向文件写入的Sink组件:

这种也和ResourceR这类。还是与Process连接办法是反方向的:由p到trans。

这和Source trait及其这类。注意和Process连接是反向的:由p指向Sink。

这种IO类型亲戚朋友在前面的讨论里曾经练习过。

亲戚朋友先用俩个 独立的数据类型来代表数据源Source进行简单的示范说明,这种类型与Process类型没法 任何关系:

与Source同样,亲戚朋友还是用俩个 独立的类型Sink来代表数据接收端进行简单说明:

同样,俩个 只写的资源实这类下: