在角色 Blob 中§
请参阅主要文档 在上下文中 了解方法 subbuf
multi method subbuf(Int , Int = self.elems --> Blob)multi method subbuf(Range --> Blob)multi method subbuf(Blob: )multi method subbuf(Blob: Int , )multi method subbuf(Blob: , )multi method subbuf(Blob: \from, Whatever)multi method subbuf(Blob: \from, Numeric \length)
从索引开始提取调用者缓冲区的一部分,元素为 $from
,并获取 $len
个元素(如果缓冲区较短,则更少),并创建一个新缓冲区作为结果。
say Blob.new(1..10).subbuf(2, 4); # OUTPUT: «Blob:0x<03 04 05 06>»say Blob.new(1..10).subbuf(*-2); # OUTPUT: «Blob:0x<09 0a>»say Blob.new(1..10).subbuf(*-5,2); # OUTPUT: «Blob:0x<06 07>»
为了方便,还允许指定 Range
来指示您想要调用者缓冲区的哪一部分
say Blob.new(1..10).subbuf(2..5); # OUTPUT: «Blob:0x<03 04 05 06>»