2010-06-14 1 views
11

Je veux imprimer une liste de chaînes après avoir traversé un modèle correspondant juste pour entrer dans cette fonctionnalité puissante. Comment puis-je exprimer l'opération «ne rien faire mais retourner l'unité»?comment faire le "noop mais retourner l'unité" dans OCaml

Ce que je veux dire est:

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

(je sais que je peux utiliser la fonction iter mais j'étais juste curieux) – Jack

+2

essayé avec()? – ShinTakezou

+0

et vous devez ajouter rec, afaik – ShinTakezou

Répondre

22

Vous pouvez simplement écrire ().

Voir Variant values dans le manuel: () est la façon dont vous construisez la valeur unit.

+0

Ok, il suffit de chercher et l'ai obtenu! Désolé pour cette question stupide/simple mais n'ai pas trouvé l'unité vide() jusqu'à présent:/ – Jack

+1

@Jack Eh bien, il n'est pas utilisé si souvent :) Si vous écrivez dans un style purement fonctionnel (sans effets secondaires) vous ne jamais dois l'utiliser du tout ... –

Questions connexes