2016-04-04 5 views
2

Ich habe Code bekam, die von der Form:Alternative zum verschachtelten Satz?

long_complicated_string_$i 

für einige Indexvariable i und ich Aussagen wie

my_proc long_complicated_string_$i long_complicated_string_$j 

aber alle der long_complicated_string_ Teile machen es schwer, das Schreiben zu lesen also schreibe ich:

Das funktioniert und ist eine Verbesserung, aber es ist immer noch nicht sehr nett. Ich bin sehr neu zu tcl und dies scheint eine Standard-Sache zu wollen, so dass ich denke, es sollte eine einfache Möglichkeit, es zu tun.

Antwort

2

Im Allgemeinen, wenn Sie das tun, sind Sie wahrscheinlich besser dran, Arrays stattdessen zu verwenden, so Variablen von abc_$i zu gehen. Der Vorteil kommt beim Lesen, wie Sie dies tun können:

my_proc $x($i) $x($j) 

statt:

my_proc [set x_[set i]] [set x_[set j]] 

oder (weil die innerste set hier sowieso nicht erforderlich):

my_proc [set x_$i] [set x_$j] 
+0

Dank Ich habe Arrays betrachtet, aber ich war nicht sicher, wie ich sie richtig einstellen könnte. Die Art, wie ich es jetzt mache, ist 'set x ($ i) long_string_ $ i; my_proc $ x ($ i) $ x ($ j) ' –