Tcl: по умолчанию, если переменная пуста?

Я «унаследовал» некоторый код Tcl, и хотя я работал с некоторыми учебными пособиями и могу разобраться в языке, в моих собственных конструкциях Tcl не хватает определенного... , утонченность.

Например, у меня есть такой код:

puts "Column 'name': [ $queryRs getString name ]"

$queryRs— это набор результатов SQL-запроса. Конструкция [ $queryRs getString name ]извлекает содержимое столбца таблицы "name" из текущей строки результирующего набора. Если поле базы данных равно NULL, putsничего не печатает.

Вместо этого я хотел бы напечатать строку "по умолчанию", т.е. если [ $queryRs getString name ]ничего не дает, я бы хотел заменить ее на "--".

Теперь я мог бы сделать что-то вроде этого:

set nameVar "[ $queryRs getString name ]"
if { [ string length $nameVar ] == 0 } {
    set nameVar "--"
}
puts "Column 'name': $nameVar"

Но здесь должно бытьболее компактное решение, что-то, что можно сделать встроенным, вместо добавления четырех строк и временной переменной. Помогите, пожалуйста?

7
задан DevSolar 5 June 2012 в 08:28
поделиться