本文简要介绍ruby语言中 IO::Buffer.new
的用法。
用法
IO::Buffer.new([size = DEFAULT_SIZE, [flags = 0]]) → io_buffer
创建一个新的 zero-filled IO::Buffer
,共 size
字节。默认情况下,缓冲区将为internal
:直接分配的内存块。但如果请求的 size
大于特定于操作系统的 IO::Bufer::PAGE_SIZE,则将使用虚拟内存机制分配缓冲区(Unix 上为匿名 mmap
,Windows 上为 VirtualAlloc
)。可以通过传递 IO::Buffer::MAPPED
作为第二个参数来强制执行该行为。
例子
buffer = IO::Buffer.new(4)
# =>
# #<IO::Buffer 0x000055b34497ea10+4 INTERNAL>
# 0x00000000 00 00 00 00 ....
buffer.get_string(0, 1) # => "\x00"
buffer.set_string("test")
buffer
# =>
# #<IO::Buffer 0x000055b34497ea10+4 INTERNAL>
# 0x00000000 74 65 73 74 test
相关用法
- Ruby Buffer.slice用法及代码示例
- Ruby Buffer.set_value用法及代码示例
- Ruby Buffer.external?用法及代码示例
- Ruby Buffer.free用法及代码示例
- Ruby Buffer.for用法及代码示例
- Ruby Buffer.locked?用法及代码示例
- Ruby Buffer.transfer用法及代码示例
- Ruby Buffer.map用法及代码示例
- Ruby Buffer.clear用法及代码示例
- Ruby Buffer.copy用法及代码示例
- Ruby Buffer.locked用法及代码示例
- Ruby Buffer.get_value用法及代码示例
- Ruby Buffer.get_string用法及代码示例
- Ruby Buffer.to_s用法及代码示例
- Ruby Buffer.resize用法及代码示例
- Ruby Buffer类用法及代码示例
- Ruby Buffering.read_nonblock用法及代码示例
- Ruby Buffering.write_nonblock用法及代码示例
- Ruby Bundler.setup用法及代码示例
- Ruby Bundler模块用法及代码示例
- Ruby Bundler.require用法及代码示例
- Ruby Bundler.definition用法及代码示例
- Ruby BigMath.cos用法及代码示例
- Ruby Binding.local_variable_defined?用法及代码示例
- Ruby BigDecimal.self >用法及代码示例
注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Buffer.new。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。