2016-03-27 2 views
0

Я использую строку, подобную этому, образец, который мне нужен, - это синтаксический анализ через строку и получение значения параметра, например, значение -type - это Eth, поэтому просто строка рядом с строка, которую я даю.Разбор строки и получение значения в TCL

карта 1-3-1--Количество 2 -типа Eth -config Да -GEPorts 3

ответ

1
set s {card-1-3-1 3 -Number 2 -type Eth -config Yes -GEPorts 3} 
dict get $s -type 
# -> Eth 

По умолчанию card-1-3-1 становится ключевым в "глазах" команд dict, но, как если это не проблема, вам не нужно ничего более сложного, чем это. Все ключи должны иметь следующие значения (т. Е. Строка должна быть правильным, даже размерным списком, где элементы находятся в порядке значений ключа).

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

+0

он говорит недопустимое имя команды "Dict" – user3126850

+2

@ user3126850: вы могли бы использовать устаревшую версию Tcl. Команда 'dict' была добавлена ​​в Tcl 8.5, еще в 2007 году. Если вы используете более старую версию, обновите ее: Tcl 8.4 и старше больше не поддерживаются ни для безопасности, ни для ошибок. Если вы не можете обновить, есть замена pure-Tcl для 'dict', которая может использоваться в Tcl 8.4. –

+0

Чистая версия Tcl 'dict' не обладает вполне хорошими свойствами 8.5, но может быть и достаточно хороша. Хотя ___upgrade___ является официальным сообщением. –

Смежные вопросы