2010-06-14 5 views
11

Quiero imprimir una lista de cadenas después de pasar por un patrón coincidente solo para obtener esta poderosa funcionalidad.cómo hacer la "noop pero la unidad de devolución" en OCaml

¿Cómo puedo expresar la operación "do-nothing-but-return-unit"?

Lo que quiero decir es:

let print_nodes nodes = 
    match nodes with 
     []  -> (* here i want to noop *) 
    | s :: t -> print_string s; print_nodes t 
+0

(Sé que puedo usar la función iter pero era curioso) – Jack

+2

intenté con()? – ShinTakezou

+0

y debe agregar rec, afaik – ShinTakezou

Respuesta

22

Simplemente puede escribir ().

Consulte Variant values en el manual: () es cómo se genera el valor unit.

+0

Ok, acabo de buscarlo y lo tengo! Perdón por esta pregunta tonta/simple pero no he encontrado la unidad vacía() hasta ahora:/ – Jack

+1

@Jack Bueno, no se usa tan a menudo :) Si escribes con un estilo puramente funcional (sin efectos secundarios) nunca tiene que usarlo en absoluto ... –

Cuestiones relacionadas