¿Por qué los generadores no admiten map ()?
Me parece completamente natural que los generadores, que funcionan de manera muy similar a las matrices, deberían soportar las operaciones de lista muy básicas, comomap()
, filter()
yreduce()
. ¿Me estoy perdiendo de algo?
Escribí el código paramap
y parece bastante simple, pero sería mucho mejor tener todas las funciones integradas en todos los generadores:
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;
}
Soy nuevo en generadores, por lo que cualquier comentario sobre el código es bienvenido. En particular, ¿es esa la mejor manera de escribir "el generador de identidad"?