Arahan untuk menggunakan kaedah buffer.slice dalam node.js_node.js

WBOY
Lepaskan: 2016-05-16 16:27:45
asal
1469 orang telah melayarinya

Penerangan kaedah:

Mengembalikan objek penimbal baharu ini berkongsi memori yang sama seperti penimbal lama.

Tetapi dikurangkan dengan mengimbangi indeks permulaan dan akhir. (Sebagai contoh, jika terdapat 1 hingga 10 bait dalam penimbal, dan kami hanya mahu 4-8 bait, kami boleh menggunakan fungsi ini buf.slice(4,8). Kerana mereka berkongsi memori yang sama, mereka tidak akan menggunakan memori .,)

Oleh kerana memori dikongsi, selepas mengubah suai penimbal baru, kandungan penimbal lama juga akan diubah suai.

Tatabahasa:

Salin kod Kod adalah seperti berikut:

buffer.slice([mula], [akhir])

Terima parameter:

mulakan Kedudukan permulaan, lalai

akhir Kedudukan tamat, lalai ialah panjang penimbal

Contoh:

Buat penimbal menggunakan abjad ASCII, gunakan fungsi hirisan dan kemudian ubah suai bait dalam penimbal asal.

Salin kod Kod adalah seperti berikut:

var buf1 = Penampan baharu(26);
untuk (var i = 0 ; i < 26 ; i ) {
buf1[i] = i 97; // 97 ialah ASCII a
}
var buf2 = buf1.slice(0, 3);
console.log(buf2.toString('ascii', 0, buf2.length));
buf1[0] = 33;
console.log(buf2.toString('ascii', 0, buf2.length));
// abc
// !bc

Kod sumber:

Salin kod Kod adalah seperti berikut:

// TODO(trevnorris): pada masa ini berfungsi seperti Array.prototype.slice(), yang
// tidak mengikut piawaian baharu untuk melontar indeks di luar julat.
Buffer.prototype.slice = fungsi(mula, tamat) {
var len = this.length;
mula = ~~mula;
end = util.isUndefined(end) ? len : ~~end;
jika (mula < 0) {
Mula = len;
Jika (mula < 0)
Mula = 0;
} lain jika (mula > len) {
Mula = len;
}
jika (akhir < 0) {
Tamat = len;
Jika (akhir < 0)
Tamat = 0;
} lain jika (akhir > len) {
Tamat = len;
}
jika (akhir < mula)
Tamat = mula;
var buf = new NativeBuffer();
sliceOnto(ini, buf, mula, tamat);
buf.length = tamat - mula;
jika (buf.length > 0)
buf.parent = util.isUndefined(this.parent) ? ini : this.parent;
Kembalikan buf;
};
Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan