Тип списка
Tcl скорее похож на Java ArrayList, но API отличается и семантика модификации отличается. Преобразование одного в другой требует ручного шага:
proc sample {arg_list} {
# Make an ArrayList
set jlist [java::new java.util.ArrayList]
# Copy the items over as strings; if you want a list of other things, this is the bit you change
foreach item $arg_list {
$jlist add [java::new String $item]
}
# Do the call
$::mgr sample_impl_in_java $jlist
}
Вы, вероятно, захотите назвать это как-то вроде:
set var "hello"
sample [list $var "world"]
Другой способ будет работать, но результат маловероятен чего вы ожидаете.