跳转到内容

Perl 编程/关键字/vec

来自维基教科书,自由的教科书
上一个:values 关键字 下一个:wait

vec关键字

[编辑 | 编辑源代码]

该函数vecEXPRESSION中的字符串视为一个位向量,其中元素宽度为BITS,并返回由OFFSET指定的元素的值,该值是一个无符号整数。BITS必须是 2 的幂,范围从 1 到 32(或 64,如果平台支持)。

如果BITS为 8,则输入字符串的元素为字节。

如果BITS为 16 或更大,则输入字符串的字节被分组为大小为BITS/8 的块。每个组被转换为一个数字,就像使用 pack()/unpack() 一样,使用大端格式n /N(类似于BITS==64).

如果BITS4或更小,则字符串被分解为字节,然后每个字节的位被分解为 8/BITS组。字节的位以小端方式编号,如0x01, 0x02, 0x04, 0x08, 0x10等等

vec也可以被赋值,在这种情况下,需要使用括号来给出表达式正确的优先级。请参见下面的示例。

如果所选元素位于字符串之外,则返回 0。如果写入字符串末尾的元素,Perl 将首先使用足够多的零字节扩展字符串。负数OFFSET被视为错误。

vec忽略 UTF-8 标志,如果碰巧字符串在内部被编码为 UTF-8,它会对内部字节字符串进行操作。

  vec EXPRESSION, OFFSET, BITS
vec($largeimage, $max_x*$x + $y, 8) = 3;
上一个:values 关键字 下一个:wait
华夏公益教科书