Toon posts:

[SCRIPTING]Variabele in variable...

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben bezig met een TCL/TK script..

Ik probeer dit te doen: $$var1

in tekst: Ik wil de waarde van de waarde van var1..

Is dit te doen? Zoniet in TCL dan in shell??

Verwijderd

Wat bedoel je met "de waarde van de waarde"?

Hoe ziet je script eruit, wat wil je bereiken, en waar loop je vast?

Verwijderd

Mjah "tcl tk variable variables" is wel erg moeilijk in te tikken in google ja.

Overigens zijn dat normaliter erg ranzige oplossingen.

Verwijderd

Topicstarter
Je kan ook even een niet "ranzige" manier plaatsen om de replys niet compleet nutteloos te maken..

Verwijderd

Lijkt me vrij lastig als ik niet eens weet wat je code moet bereiken.

Kortom zonder code te zien, kan ik je geen kant en klaar recept geven om het netter aan te pakken.

BTW. Wat bedoel je met shell? Bash kan dit standaard ja. TCL/TK ook, alleen daar ben ik niet echt in thuis.

edit:

Om het toch maar even voor je op te zoeken:
http://mini.net/tcl/6093
puntje 6.

[ Voor 41% gewijzigd door Verwijderd op 19-12-2003 20:01 ]


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 18:51

Creepy

Tactical Espionage Splatterer

9 van de 10 keer kunnen die ranzige oplossingen met een (associative) array netter worden gemaakt. Maar dat ligt er echt wat je wilt bereiken met je "variabele variabele"

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Verwijderd

Juistum :)

Zodra je variabele variabelen wil gaan gebruiken dan is dat een hint dat je het waarschijnlijk beter op een andere manier aan kunt pakken. Het gebruik van associatieve arrays is een erg voor de hand liggend in zo'n geval.

  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Bedoel je zoiets?

Bash:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#/bin/bash

A=2
B=5
C=11
LIST="A B C"

for i in $LIST; do
  eval TMP=\${$i}

  TMP=`expr $TMP + 2`

  eval $i=$TMP
done;

echo $A
echo $B
echo $C

  • bkor
  • Registratie: November 2000
  • Niet online
Set met alleen een variablenaam geeft de waarde terug, dus je kan zoiets gebruiken:
code:
1
2
3
set a 123
set var1 a
puts [set $var1]


geeft dus 123 terug.
Pagina: 1