Buffer slice
- Node.js kursu
- Orta seviye
- Ders 57/116
- 5 dk
Buffer.slice ile buffer bölme öğrenirsin.
Buffer slice
Bazen bir buffer'ın yalnızca bir bölümüne ihtiyaç duyarsın. buf.subarray(start, end) buffer'ın bir görünümünü döndürür: yeni bellek ayırmaz, orijinal buffer'ı paylaşır.
Örneğin Buffer.from("merhaba").subarray(0, 3) ilk üç byte'ı (mer) verir. start dahil, end hariçtir; tıpkı dize.slice gibidir. Eski kodlarda buf.slice() görebilirsin; ama bu yöntem artık kullanımdan kaldırıldı, yerine subarray kullanılır. Görünüm paylaşıldığı için üstünde değişiklik yaparsan orijinal buffer da etkilenir.
slice kullanımdan kaldırıldı
Eski Node.js kodlarında buf.slice(start, end) görebilirsin. Bu metod da subarray gibi bir görünüm döndürür; ama kullanımdan kaldırıldı (deprecated). Yeni kodlarda subarray kullanmalısın.
İkisi de aynı işi yapar: orijinal belleği paylaşan bir görünüm verir. Ancak slice ileride kaldırılabilir. Bu yüzden resmi belgeler subarray önerir. Eğer eski bir kodu okurken slice görürsen, bunun subarray ile aynı anlama geldiğini bilmen yeterlidir. Böylece hem eski hem yeni kodları anlayabilirsin.
Uygulama Buffer'ın bir bölümünü al ve yazdır
Buffer.from("merhaba") ile bir buffer oluştur. .subarray(0, 3) ile ilk üç byte'ı al, .toString() ile metne çevir ve console.log ile yazdır.
Başlangıç kodu
// Buffer.from ile bir buffer tanımla
// buraya yaz
// subarray ile ilk üç byte'ı al, toString ile yazdır
// buraya yazÖrnek çözüm
console.log(Buffer.from("merhaba").subarray(0, 3).toString());Beklenen çıktı
mer
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 subarray çağrısını tamamla
Buffer.from("merhaba").____(0, 3)
Buffer.from("merhaba").subarray(0, 3)
Açıklama: subarray bir buffer görünümü döndürür.
2 Parçayı rolüne eşle
| Kavram | Anlamı |
|---|---|
subarray |
Görünüm döndürür |
start |
Başlangıç indeksi (dahil) |
end |
Bitiş indeksi (hariç) |
slice |
Kullanımdan kaldırıldı |
3 Buffer.from("merhaba").subarray(0, 3) ne döndürür?
Buffer.from("merhaba").subarray(0, 3)- "mer" Doğru cevap
- "merha"
- "merhaba"
- "rha"
Açıklama: subarray(0, 3) ilk üç byte'ı verir: mer.