Я «унаследовал» некоторый код 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"
Но здесь должно бытьболее компактное решение, что-то, что можно сделать встроенным, вместо добавления четырех строк и временной переменной. Помогите, пожалуйста?