| << Vorheriges Thema anzeigen :: Nächstes Thema anzeigen >> |
| Autor |
Nachricht |
Greenghecco Forum-User

Anmeldungsdatum: 03.06.2008 Beiträge: 61
|
Verfasst am: 24.02.2010, 12:11:35 Titel: variablen aus funktion global machen |
|
|
hallo ich habe ein tcl programm das einige globale varibablen besitzt.
Diese sollen aber erst erstellt werden wenn dies explizit gewünsct ist.
Die Idee ist nun diese einfach in eine Funktion zu packen. Wie kann ich nun die variablen als global definieren.
Vorher. test.tcl:
set glob1 0
set glob {ndusf dsfs sd}
proc xxx {} {
}
Nachher. test.tcl:
proc init {} {
set glob1 0 #wie mache ich diese variablen nun global!?
set glob {ndusf dsfs sd}
}
proc xxx {} {
}
vielen dank schonmal im vorraus |
|
| Nach oben |
|
 |
Greenghecco Forum-User

Anmeldungsdatum: 03.06.2008 Beiträge: 61
|
Verfasst am: 24.02.2010, 14:55:40 Titel: |
|
|
für alle die das gleiche problem haben einfach:
proc test {} {
uplevel #0 {
set ...
set...
}
}
dann sollten die variablen auch gloabl verfügbar sein |
|
| Nach oben |
|
 |
hank Top-User


Anmeldungsdatum: 10.03.2006 Beiträge: 876 Wohnort: Leipzig
|
Verfasst am: 24.02.2010, 16:10:14 Titel: |
|
|
Hallo,
es gibt noch zwei weitere Möglichkeiten:
1) Namespace: globale Variablen beginnen mit "::"
| Code: | proc init {} {
set ::glob1 0
set ::glob {ndusf dsfs sd}
}
|
2) Kommando "global"
| Code: | proc init {} {
global glob1 glob
set glob1 0
set glob {ndusf dsfs sd}
}
|
Ich selbst bevorzuge Variante 1
Viele Grüße
Göran |
|
| Nach oben |
|
 |
|