2

配列と非常によく似た機能を持つジェネレータが、 、 、 などの非常に基本的なリスト操作をサポートする必要があることは、私にはまったく自然なことのように思えmap()ます。何か不足していますか?filter()reduce()

のコードを書きましたが、map十分に単純に見えますが、すべてのジェネレーターにすべての関数を埋め込む方がはるかに優れています。

let fancyGen = g => {
  let rv = function*() {
    for (let x of g) 
      yield x;
  }
  rv.map = function*(p) {
   for (let x of g) 
      yield p(x);
  } 
  return rv;
}

私はジェネレーターが初めてなので、コードに関するコメントは大歓迎です。特に、「ID ジェネレーター」を記述する最良の方法はありますか?

4

1 に答える 1