| Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme. |
Diskussion: zu Perl TK und der Gültigkeit von Variablen... im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Seit gestern beschäftige ich mich mit Perl TK , und da meiner Meinung nach die gute alte "trial & ...
![]() |
| | #1 (permalink) |
![]() Registriert seit: 06.01.07 ![]() Likes: 0 | Anzeige Seit gestern beschäftige ich mich mit Perl TK, und da meiner Meinung nach die gute alte "trial & error"-Methode immer noch die beste ist, hab ich mich dran gemacht ein kleines Sachspiel damit zu programmieren... Das ganze soll (natürlich) eine grafische Oberfläche bekommen, die soweit auch steht. Damit man die Figuren bewegen kann hab ich mir gedacht dass ich die Felder einfach zu Buttons mache, die dann an eine Subroutine die Feldkoordinaten als Parameter mitgibt. Dazu folgender Code-Ausschnitt: Dieser Code soll 8 Buttons, abwechselnd schwarz, bzw weis ausgeben. Problem hierbei ist Code: -command => sub{ out( $j ) } Kann mir jemand sagen warum $j nicht den Wert der Zählervariable erhällt :-? [ EDIT: ] ok... jetzt hat $j in der "command-Anweisung" immer den Wert 9... obwohl ich eigentlich nix geändert habe... egal... Hier mal der ganze Test-Code |
| | |
| | #2 (permalink) |
| Moderator ![]() Registriert seit: 30.09.06 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 441 | Tipp für die Zukunft: Gewöhne dir gleich an 'strict' zu benutzen (use strict; ). Damit mußt du zwar alle Variablen explizit beim ersten Aufruf mit 'my' deklarieren, dafür bekommst du aber auch vom Interpreter Meldungen, wenn die Gültigkeit nicht gegeben ist.
__________________ Mein Blog - Mein Job - Diaspora Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund. Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+ |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
![]() Registriert seit: 06.01.07 ![]() Likes: 0 | Naja... das hat net viel geändert... Ich hab auch mal die Warnmeldungen ausgeben lassen: Code: "my" variable $spacer masks earlier declaration in same scope at C:\Users\Chuck Norris\Desktop\chess_2.0.pl line 118. "my" variable $t1 masks earlier declaration in same scope at C:\Users\Chuck Norr is\Desktop\chess_2.0.pl line 120. ![]() Das komische ist, dass er die Variablen bei -text noch korrekt einließt, da er die korrekten Buchstaben als Button-Titel aus "@chessboard" ließt... wenn ich aber $i bzw $j via sub{ print($i) } ausgeben lasse steht auch immer 9 drin... |
| | |
| | #4 (permalink) |
| Moderator ![]() Registriert seit: 30.09.06 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 441 | Dann lasse halt in der Schleife nochmal 2 extra Variablen hochzählen. Es ist eine Unart von C/Java/usw.-Programmierern das nicht zu tun. Aber abgesehen davon liegt dein Problem vermutlich eher hier: Code: for(my $j=1; $j <=8; $j++){
__________________ Mein Blog - Mein Job - Diaspora Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund. Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+ |
| | |
| | #5 (permalink) |
![]() Registriert seit: 06.01.07 ![]() Likes: 0 | alter_beitrag [ EDIT: ] code Es ist vollkommen egal was in der Schleife hochgezählt wird... die Ausgabe ist immer " 5-4 " also ist $i immer 5 udn $x immer 4. ...wohl wegen der Bedingung, $i wird mti 1 initialisiert und $x mit 0... Wenn ich die Schleife jetzt folgendermaßen umbaue: code Gibt er immer " 5-1 " aus ?! -> man beachte dass $x vor dem erstellen des Buttons auf 0 gesetzt wird, und zwar bei jedem Duurchlauf.... Warum ist das so? - ich kenn mich mit objektoriantierter Programmierung net so gut aus, aber könnte es sein dass der bereits erstellte Button einfach immer wieder überschrieben wird? Einen Array kann ich bei $button nicht nutzen, da dann der Compiler mit nem Feher abbricht... Wie kann ich sonst Buttons in einer Schleife erzeugen lassen, die dann auch die korrekten Werte ausgeben? |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| perl threads::shared - diverse Probleme mit "shared" variablen | keksinat0r | Code Kitchen | 4 | 22.02.09 18:43 |
| Seriennummer auf Gültigkeit überprüfen | Knoxx | Cryptography & Encryption | 13 | 26.01.09 05:23 |
| Perl - Funktionsnamen anhand von Variablen zusammensetzen | bitmuncher | Code Kitchen | 7 | 20.07.08 16:36 |
| Gültigkeit von Hyperlinks überprüfen. | freakazoid | (Web-) Design und webbasierte Sprachen | 5 | 30.08.07 12:29 |
| Variablen in C | Dawen | Code Kitchen | 2 | 28.10.05 23:56 |