我尝试生成具有所有不同值的 uint ( my_list_of_list
) 列表的动态列表(我有一个变量num_of_ms_in_each_g : list of uint
,它将每个列表的长度保持在内部my_list_of_list
):
var my_list_of_list : list of list of uint;
gen my_list_of_list keeping {
for each (g) using index (g_idx) in it {
g.size() == num_of_ms_in_each_g[g_idx];
for each (m) using index (m_idx) in g {
// Error in the next line:
m not in it[0..g_idx-1][0..num_of_ms_in_each_g[g_idx]-1];
m not in it[g_idx][0..max(0, m_idx-1)];
};
};
代码算法说明:生成m
(值)之前尚未出现在任何 uint ( g
) 列表中,并且未出现在先前索引的当前列表中。
我得到编译错误:
*** Error: 'm' is of type 'uint', while expecting type 'list of uint' or
'list of list of uint'.
您知道如何解决编译错误吗?(it[0..g_idx-1][0..num_of_ms_in_each_g[g_idx]-1]
是 uint ..)或者也许是另一种即时生成list of list of uint
具有所有不同值的方法?谢谢您的帮助。