在角色 Buf 中§

请参阅主要文档 上下文中的方法 subbuf-rw

method subbuf-rw($from = 0$elems = self.elems - $fromis rw

subbuf 的可变版本,返回一个 Proxy,用作对缓冲区一部分的可写引用。它的第一个参数 $from 指定缓冲区中应进行替换的索引,最后一个参数 $elems 指定要替换的元素数。

例如,用两个元素 100101 替换索引 3 处的一个元素

my Buf $ .= new(0..5);
$.subbuf-rw(3,1= Buf.new(100101);
say $.raku;   # OUTPUT: «Buf.new(0,1,2,100,101,4,5)␤»

如果未指定 $elems 参数,则替换在指定索引 $from 处发生,并删除所有尾随元素

my Buf $ .= new(0..5);
$.subbuf-rw(3= Buf.new(200);
say $.raku;   # OUTPUT: «Buf.new(0,1,2,200)␤»

如果未指定 $from 参数,则替换从缓冲区的开头发生

my Buf $ .= new(0..5);
$.subbuf-rw = Buf.new(123123);
say $.raku;   # OUTPUT: «Buf.new(123, 123)␤»

在角色 Buf 中§

请参阅主要文档 上下文中的例程 subbuf-rw

multi subbuf-rw(Buf:D \bis rw
multi subbuf-rw(Buf:D \bInt() $fromis rw
multi subbuf-rw(Buf:D \b$from$elemsis rw

返回对缓冲区一部分的可写引用。对指定的 Buf 调用 subbuf-rw 方法

my Buf $ .= new(1,2,3);
subbuf-rw($,2,1= Buf.new(42);
say $.raku;   # OUTPUT: «Buf.new(1,2,42)␤»