Tcl: par défaut si la variable est vide?

J'ai "hérité" certains Tcl code, et alors que j'ai travaillé à travers des tutoriels et peut donner un sens de la langue, de mon propre Tcl constructions manque pas d'un certain... finesse.

Par exemple, j'ai ce code:

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

$queryRs est le résultat d'une requête SQL. Le [ $queryRs getString name ] construire récupère le contenu de la colonne "nom" de la ligne actuelle dans le jeu de résultats. Si la base de données de champ est NULL, la puts ne pas imprimer quoi que ce soit.

Je voudrais imprimer un "défaut" de la chaîne au lieu de cela, c'est à dire si [ $queryRs getString name ] les résultats en rien, j'aimerais le remplacer par "--".

Maintenant, je pourrais faire quelque chose comme ceci:

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

Mais il y a être une solution plus compacte, quelque chose qui peut être fait inline au lieu d'ajouter quatre lignes et une variable temporaire. Aider, s'il vous plaît?

OriginalL'auteur DevSolar | 2012-06-05