javascriptライブラリ
stream.jsは、数値データの「新しい」
1構造であるストリームを導入します。 これは、配列とリンクリストのように見えるコンテナですが、
遅延計算のメソッドによって実装される
要素の数に制限は
ありません。
var s = Stream.range( 10, 20 ); s.print();
引数
Stream.range( low, high )
は、範囲
Stream.range( low )
の最初の境界のみを指定できます。そうすると、ストリームは無制限の数の自然数で構成されます。 デフォルトでは、
Stream.range()
は1から始まります。
おそらく「無限」の範囲のアイデアは、プログラミングを簡素化します。 たとえば、偶数と奇数のリストが表示されます。
var naturalNumbers = Stream.range(); // naturalNumbers is now 1, 2, 3, ... var evenNumbers = naturalNumbers.map( function ( x ) { return 2 * x; } ); // evenNumbers is now 2, 4, 6, ... var oddNumbers = naturalNumbers.filter( function ( x ) { return x % 2 != 0; } ); // oddNumbers is now 1, 3, 5, ... evenNumbers.take( 3 ).print(); // prints 2, 4, 6 oddNumbers.take( 3 ).print(); // prints 1, 3, 5
new Stream( head, functionReturningTail )
使用すると、指定されたパラメーターで独自のストリームを作成できます。 たとえば、自然数をリストする簡潔な方法を次に示します。
function ones() { return new Stream( 1, ones ); } function naturalNumbers() { return new Stream(
PS
CoffeeScript streams.jsライブラリ:
coffeestream