1

この質問には、 https ://github.com/rfw/sloth.js にあるJavaScriptナマケモノライブラリの知識が必要です。

このjavascriptジェネレーターがあれば。

function fibonacci(){
  var fn1 = 1;
  var fn2 = 1;

  while (1){
    var current = fn2;
    fn2 = fn1;
    fn1 = fn1 + current;
    yield current;
  }
}

ナマケモノ ライブラリを使用すると、ナマケモノ ライブラリでの使用に適したイテレータに変換できます。

var iter = sloth.iterNextable(fibonacci());

上記の URL にあるナマケモノのドキュメントは、take() 関数を使用して、ナマケモノに適したイテレータから n 個の要素を取得する例を示しています。

sloth.ify([1, 2, 3]).take(2).force();
[ 1, 2 ]

質問: fibonacci() ジェネレーターから、take() を呼び出すことができるスロット化されたオブジェクトに取得する方法は?

4

1 に答える 1

2

解決しました。私が質問を投稿した理由は、これが

sloth.ify(iter).take(5)

戻ってきた

[object Object]  

だから私は何か間違ったことをしていると思いました。このオブジェクトは、評価する必要のある怠惰なオブジェクトでした。これがforce()の出番です。

sloth.ify(iter).take(5).force()

戻り値

1,1,2,3,5
于 2013-02-25T17:56:57.630 に答える