2017-09-26 2 views
1

J'ai une unité my_unit avec un champ booléen my_bool. Je dois ajouter une logique spécifique à my_unit lorsque my_bool == FALSE. C'est possible?Spécification du sous-typage: Comment faire référence à la valeur FALSE du champ conditionnel dans quand/étendre le sous-typage?

unit my_unit { 
    my_bool : bool; 

    when my_bool { 
     // Works fine, I can add logic to my_unit 
    }; 

    when not my_bool { 
     // This causes compilation error!!! 
     // Here I need to add another logic 
    }; 
}; 

Y a-t-il un moyen de le faire? Merci pour votre aide

Répondre

3

Le compilateur semble traiter when my_bool comme when TRUE'my_bool. Si vous voulez écrire le code pour le when la variable est FALSE, vous pouvez écrire:

unit my_unit { 
    // ... 

    when FALSE'my_bool { 
     // ... 
    }; 
};