跳轉到內容

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
華夏公益教科書