I/O 与网络
通用 I/O
Base.stdoutBase.stderrBase.stdinBase.openBase.IOStreamBase.IOBufferBase.take!(::Base.GenericIOBuffer)Base.fdioBase.flushBase.closeBase.writeBase.readBase.read!Base.readbytes!Base.unsafe_readBase.unsafe_writeBase.readeachBase.peekBase.positionBase.seekBase.seekstartBase.seekendBase.skipBase.markBase.unmarkBase.resetBase.ismarkedBase.eofBase.isreadonlyBase.iswritableBase.isreadableBase.isopenBase.fdBase.redirect_stdioBase.redirect_stdoutBase.redirect_stdout(::Function, ::Any)Base.redirect_stderrBase.redirect_stderr(::Function, ::Any)Base.redirect_stdinBase.redirect_stdin(::Function, ::Any)Base.readchompBase.truncateBase.skipcharsBase.countlinesBase.PipeBufferBase.readavailableBase.IOContextBase.IOContext(::IO, ::Pair)Base.IOContext(::IO, ::IOContext)
文本 I/O
Base.show(::IO, ::Any)Base.summaryBase.printBase.printlnBase.printstyledBase.sprintBase.showerrorBase.dumpMeta.@dumpBase.readlineBase.readuntilBase.readlinesBase.eachlineBase.displaysize
多媒体 I/O
就像文本输出用 print 实现,用户自定义类型可以通过重载 show 来指定其文本化表示,
Julia 提供了一个应用于富多媒体输出的标准化机制
(例如图片、格式化文本、甚至音频和视频),由以下三部分组成:
函数
display(x)来请求一个 Julia 对象x最丰富的多媒体展示,并以纯文本作为后备模式。重载
show允许指定用户自定义类型的任意多媒体表现形式(以标准MIME类型为键值)。Multimedia-capable display backends may be registered by subclassing a generic
AbstractDisplaytype 并通过pushdisplay将其压进显示后端的栈中。
基础 Julia 运行环境只提供纯文本显示, 但是更富的显示可以通过加载外部模块或者使用图形化 Julia 环境 (比如基于 IPython 的 IJulia notebook)来实现。
Base.AbstractDisplayBase.Multimedia.displayBase.Multimedia.redisplayBase.Multimedia.displayableBase.show(::IO, ::Any, ::Any)Base.Multimedia.showableBase.repr(::MIME, ::Any)Base.MIMEBase.@MIME_str
如上面提到的,用户可以定义新的显示后端。
例如,可以在窗口显示 PNG 图片的模块可以在 Julia 中注册这个能力,
以便为有 PNG 表示的类型调用 display(x) 时可以在模块窗口中自动显示图片。
In order to define a new display backend, one should first create a subtype D of the abstract
class AbstractDisplay. Then, for each MIME type (mime string) that can be displayed on D, one should
define a function display(d::D, ::MIME"mime", x) = ... that displays x as that MIME type,
usually by calling show(io, mime, x) or repr(io, mime, x).
A MethodError should be thrown if x cannot be displayed
as that MIME type; this is automatic if one calls show or repr. Finally, one should define a function
display(d::D, x) that queries showable(mime, x) for the mime types supported by D
and displays the “best” one; a MethodError should be thrown if no supported MIME types are found
for x. Similarly, some subtypes may wish to override redisplay(d::D, ...). (Again, one should
import Base.display to add new methods to display.) The return values of these functions are
up to the implementation (since in some cases it may be useful to return a display “handle” of
some type). The display functions for D can then be called directly, but they can also be invoked
automatically from display(x) simply by pushing a new display onto the display-backend stack
with:
Base.Multimedia.pushdisplayBase.Multimedia.popdisplayBase.Multimedia.TextDisplayBase.Multimedia.istextmime
网络 I/O
Base.bytesavailableBase.ntohBase.htonBase.ltohBase.htolBase.ENDIAN_BOM
