如何在 Minizinc 中连接数组的所有字符串?
How to concatenate all strings of an array in Minizinc?
在 minizinc 中,您可以使用 'sum' 之类的聚合函数对数组中的所有项求和。例如:
array[0..10] of par int:price = array1d(0..10,[0,1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
sum (i in 0..10) (price[i]); %Aggregation function
有没有办法以类似的方式连接数组的所有字符串?
例如像下面这样的东西:
array[0..29] of par string: symbols=array1d(SYMBOLS_SIZE,["A" , "B" , "C" , "D" , "E" , "F" , "G" , "H" , "I" , "J" , "K"];
concatenate(i in 0..10) (symbols[i]); %Aggregation function for Strings
原来还有一个叫concat的内置函数。
function string: concat(array [$T] of string: s)
函数return 连接数组 s 中的字符串。 Minizinc Reference
所以我要找的只是:
array[0..29] of par string: symbols=array1d(SYMBOLS_SIZE,["A" , "B" , "C" , "D" , "E" , "F" , "G" , "H" , "I" , "J" , "K"];
concat(i in 0..10) (symbols[i]); %Aggregation function for Strings
在 minizinc 中,您可以使用 'sum' 之类的聚合函数对数组中的所有项求和。例如:
array[0..10] of par int:price = array1d(0..10,[0,1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
sum (i in 0..10) (price[i]); %Aggregation function
有没有办法以类似的方式连接数组的所有字符串? 例如像下面这样的东西:
array[0..29] of par string: symbols=array1d(SYMBOLS_SIZE,["A" , "B" , "C" , "D" , "E" , "F" , "G" , "H" , "I" , "J" , "K"];
concatenate(i in 0..10) (symbols[i]); %Aggregation function for Strings
原来还有一个叫concat的内置函数。
function string: concat(array [$T] of string: s)
函数return 连接数组 s 中的字符串。 Minizinc Reference
所以我要找的只是:
array[0..29] of par string: symbols=array1d(SYMBOLS_SIZE,["A" , "B" , "C" , "D" , "E" , "F" , "G" , "H" , "I" , "J" , "K"];
concat(i in 0..10) (symbols[i]); %Aggregation function for Strings