Node.jsのストリームwritable.writableLengthプロパティ
writable.writableLengthプロパティは、書き込みの準備ができているキューにあるバイトまたはオブジェクトの数を表示するために使用されます。これは、highWaterMarkからのステータスに従ってデータを検査するために使用されます。
構文
writeable.writableLength
例1
writableLength.jsという名前のファイルを作成し、以下のコードスニペットをコピーします。ファイルを作成したら、次のコマンドを使用して、以下の例に示すようにこのコードを実行します-
node writableLength.js
// Program to demonstrate writable.writableLength method const stream = require('stream'); // Creating a data stream with writable const writable = new stream.Writable({ // Writing the data from stream write: function(chunk, encoding, next) { // Converting the data chunk to be displayed console.log(chunk.toString()); next(); } }); // Writing data - Not in the buffer queue writable.write('Hi - This data will not be counted'); // Calling the cork() function writable.cork(); // Again writing some data writable.write('Welcome to TutorialsPoint !'); writable.write('SIMPLY LEARNING '); writable.write('This data will be corked in the memory'); // Printing the length of the queue data console.log(writable.writableLength);
出力
C:\home\node>> node writableLength.js Hi - This data will not be counted 81
コルクされてバッファキュー内にあるデータがカウントされ、コンソールに出力されます。
例
もう1つの例を見てみましょう。
// Program to demonstrate writable.cork() method const stream = require('stream'); // Creating a data stream with writable const writable = new stream.Writable({ // Writing the data from stream write: function(chunk, encoding, next) { // Converting the data chunk to be displayed console.log(chunk.toString()); next(); } }); // Writing data - Not in the buffer queue writable.write('Hi - This data will not be counted'); // Calling the cork() function writable.cork(); // Again writing some data writable.write('Welcome to TutorialsPoint !'); writable.write('SIMPLY LEARNING '); writable.write('This data will be corked in the memory'); // Printing the length of the queue data console.log(writable.writableLength); // Flushing the data from buffered memory writable.uncork() console.log(writable.writableLength);
出力
C:\home\node>> node writableLength.js Hi - This data will not be counted 81 Welcome to TutorialsPoint ! SIMPLY LEARNING This data will be corked in the memory 0
uncork()の後にデータがフラッシュされたため。キューはデータを保持しないため、返される長さは0です。
-
データ構造における圧縮された四分木と八分木
圧縮された四分木 細分化されたセルに対応するすべてのノードを格納するときに、多くの空のノードを格納してしまう可能性があります。このようなまばらなツリーのサイズを縮小するには、葉に興味深いデータがあるサブツリー(つまり、「重要なサブツリー」)のみを保存します。ここでも、実際にサイズをさらに縮小することができます。重要なサブツリーのみを考慮する場合、プルーニングプロセスは、中間ノードの次数が2(1つの親と1つの子へのリンク)であるツリー内の長いパスを回避する場合があります。このパスの先頭にノードUを格納し(そして削除されたノードを表すためにいくつかのメタデータをそれに関連付けて)、その最後にルー
-
データ構造における二分木探索
このセクションでは、バイナリ検索ツリーに存在するキーをトラバースするためのさまざまなトラバーサルアルゴリズムについて説明します。これらのトラバーサルは、インオーダートラバーサル、プレオーダートラバーサル、ポストオーダートラバーサル、およびレベルオーダートラバーサルです。 このようなツリーが1つあるとします- インオーダートラバーサルシーケンスは、-5 8 10 15 16 20 23のようになります。 プレオーダートラバーサルシーケンスは、-10 5 8 16 15 20 23のようになります。 ポストオーダートラバーサルシーケンスは次のようになります− 8 5 15 23 20