new(size = IO::Buffer::DEFAULT_SIZE, flags = 0) -> IO::BufferRuby 3.1 から[permalink][rdoc][edit]-
size バイトの、0 で埋められた新しいバッファを作成して返します。
既定では内部(internal)バッファ、すなわち Ruby が直接確保したメモリ領域になります。ただし size が OS 依存の IO::Buffer::PAGE_SIZE 以上の場合は、仮想メモリ機構(Unix では匿名 mmap、Windows では VirtualAlloc)を用いて確保されます。flags に IO::Buffer::MAPPED を指定すると、 size によらず後者の方法で確保されます。
- [PARAM]
size: - 確保するバッファのバイト数を整数で指定します。省略した場合は IO::Buffer::DEFAULT_SIZE になります。
- [PARAM]
flags: - バッファの確保方法を IO::Buffer::MAPPED などの定数で指定します。
buf = IO::Buffer.new(4) p buf.size # => 4 p buf.internal? # => true p buf.get_string # => "\x00\x00\x00\x00" - [PARAM]