Tag: CLOSURES
Al compilar el siguiente código: pub enum NodeType { None, Node(Box<node>), } pub struct Node { next: NodeType, } impl Node { fn traverse_recursively<f>(&self, depth: usize, f: &mut F) where F: FnMut(&Node, usize), { f(self, depth); match &self.next { NodeType::None => {} NodeType::Node(node) => { node.traverse_recursively(depth + 1, f); } . . . Read more
Supongamos que tengo un cierre add_y(y) que devuelve una función que suma y a su entrada. add_y <- function(y) { function(x) { x + y } } add_4 <- add_y(4) Entonces, el valor de add_4 es una función que suma 4 a su entrada. Esto funciona. Me gustaría poder usar . . . Read more
Sé que las funciones tienen acceso al entorno de variables (VE) del contexto de ejecución en el que fueron creadas, pero ¿dónde llevan la referencia a este, y es posible acceder a ella? editar Ejemplo: function secureIncrement() { let counter = 0; return function () { counter++; console.log(`counter = ${counter}`); . . . Read more
Cuando estoy agregando elementos a un arreglo, ¿solo se agrega el último elemento al arreglo? No puedo encontrar qué está mal en el cierre. const data = require(‘../content/data’) function randomize() { const ds_size = Math.floor(Math.random() * 500) + 50 //Generar número de objetos en el flujo let name_index = 0 . . . Read more
Para registrar funciones de unidad para ser llamadas más tarde, encontré esta solución utilizando un (unit -> unit) ref que encadena las funciones juntas: let callbacks = ref @@ fun () -> () let add_callback f = let old_callbacks = !callbacks in callbacks := (fun () -> f (); old_callbacks . . . Read more