【问题标题】:How to concatenate all strings of an array in Minizinc?如何在 Minizinc 中连接数组的所有字符串?
【发布时间】:2019-08-14 07:29:11
【问题描述】:

在 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

【问题讨论】:

    标签: arrays string optimization concatenation minizinc


    【解决方案1】:

    原来其实有一个内置函数叫做concat。

    function string: concat(array [$T] of string: s)
    

    函数返回数组 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-02
      • 1970-01-01
      • 1970-01-01
      • 2015-04-25
      • 1970-01-01
      • 2021-06-16
      • 2018-01-13
      相关资源
      最近更新 更多