2016-03-18 3 views
0

Как преобразовать известный массив в строку в TCL? массив может иметь такие значения, как root_user_appversion 10.1.3.20 и/или я просто хочу извлечь из него последние значения, которые 10.1.3.20.Array to string в TCL

+0

По крайней мере показать свои усилия, что вы сделали. –

ответ

4

Вы можете преобразовать массив в списке:

set my_list [array get my_array] 

puts "last element: [lindex $my_list [expr {[llength $my_list] -1}] ]" 

После этого, вы можете легко конвертировать список в строке с join:

set my_string [join $my_list " "] 
+1

'lindex $ my_list end' более идиоматичен. –

+1

Всегда [привязывайте свои expr-essions] (http://wiki.tcl.tk/10225) –

+0

Другая проблема заключается в том, что на самом деле это не решает проблему, она просто строит содержимое массива. –

0

Я думаю, что вы хотите

join [dict values [array get the_array]] 

Который берет список переменных ключей/значений, отфильтровывает значения и присоединяет их в строку.

Обратите внимание, что значения с пробелами будут искажены: в этом случае вам будет лучше с dict values [array get the_array].

Документация: array, dict, join