如何同时生成两个变量?

问题描述:

我有一个结构,它有两个字段X和Y,我有几个保持在他们身上,我想在结构本身内同时生成它们多次。如何同时生成两个变量?

我的需求比较复杂,但这是我面临的主要问题。 我们怎样才能同时生成两个字段?

例子:

struct example { 
    X : int; 
    Y : int; 

    keep X < Y; 
    keep Y < 10; 
    keep X+Y > 5; 

    do_something(cnt : int) is { 
     for i from 1 to cnt { 
     gen X and Y; 
     print X, Y; 
     }; 
    }; 
};  

由于gen me不工作,你可以声明example类型的变量在do_something(...),并生成:

do_something(cnt : int) is { 
     for i from 1 to cnt { 
     var obj : example; 
     gen obj; 
     X = obj.X; 
     Y = obj.Y; 
     print X, Y; 
     }; 
    };