Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi for .. in und zuweisung an schleifenvariable (https://www.delphipraxis.net/46315-und-zuweisung-schleifenvariable.html)

DGL-luke 22. Mai 2005 17:13


for .. in und zuweisung an schleifenvariable
 
ich habe solche code:

Delphi-Quellcode:
for n in counts do //initialize the array
 n:=0;
mit dem ich ein array of integer intialisiere.

allerdings meckert mein d2005pe, dass ich eine zuweisung an eine schleifenvariable vornehme. bei "for i:= .. to .. do" verstehe ich ja, dass er das nicht will, aber wieso geht das bei for in nicht? gerade der vorteil davon ist doch, das ich nicht mehr mit indizierung rumtun muss.
wenn ich aber was zuweisen will, muss ich das dann doch wieder?!

(wenn jetzt jemand sagt, das mus ich den array nicht initialisieren, dann sei ihm gesagt: mir geht es ums prinzip)

sakura 22. Mai 2005 17:15

Re: for .. in und zuweisung an schleifenvariable
 
Zitat:

Zitat von DGL-luke
wenn ich aber was zuweisen will, muss ich das dann doch wieder?!

Ja, aber dafür ist for..in/for each auch in keiner Sprache gedacht ;)

...:cat:...

DGL-luke 22. Mai 2005 17:22

Re: for .. in und zuweisung an schleifenvariable
 
da machen sie endlich mal was neues in die sprache rein, und dann is es wieder nichts gescheites bzw. auc nicht bessser als in allen anderen sprachen :roll: ... da kann man sich ja gleich visual studio 6 kaufen. und das ist ja angeblich nicht so instabil wie d2005. :evil:

also doch wieder mit schleifenvariablen rumtun... :evil:

naja, danke jedenfalls

sakura 22. Mai 2005 17:25

Re: for .. in und zuweisung an schleifenvariable
 
Du missverstest hier die Möglichkeiten durch solchen Code. Erkläre Borland, wie es technisch möglich ist dieses zu realisieren und sie werden es wahrscheinlich tun. Für Arrays speziell wäre es kein Problem, aber es geht ja auch um Listen, Collections etc.

All diese können evtl. mit Objekten (welche inten mehrfach referenziert werden, etc) hantieren, da gibt es keine Möglichkeit - zumindest keine die Borland sieht. Ich habe lange über dieses Problem nachgedacht und muss Borland Recht geben, das Problem anders anzugehen wäre fatal.

...:cat:...

Robert_G 22. Mai 2005 17:30

Re: for .. in und zuweisung an schleifenvariable
 
Zitat:

Zitat von DGL-luke
da machen sie endlich mal was neues in die sprache rein, und dann is es wieder nichts gescheites bzw. auc nicht bessser als in allen anderen sprachen :roll: ... da kann man sich ja gleich visual studio 6 kaufen. und das ist ja angeblich nicht so instabil wie d2005. :evil:

also doch wieder mit schleifenvariablen rumtun... :evil:

naja, danke jedenfalls

Wie bist du denn drauf? :gruebel:
for .. in ist eine Enumerations-Implementierung.
Es ist also vergleichbar mit "foreach" in C# oder "for each" in Chrome.
Natürlich macht es nur Sinn über die enthaltenen Elemente zu enumerieren.
Wobei man auch einen Enum so basteln kann, dass er unendlich läuft und zum Beispiel auf eine Pipe horcht... Aber das wäre ziemlich krass und hätte nur den Sinn, dass es möglichst cool implementiert ist. :mrgreen:
Eine Collection über den Enum zu ändern kann doch auch nciht gehen. Wenn er über 10 Elemente der Collection läuft... Wie zum Geier soll er jetzt wissen, dass du zwischen 4 & 5 eins einfügen willst? :gruebel:

Nachtrag: @Mieze jenau...

marabu 22. Mai 2005 17:48

Re: for .. in und zuweisung an schleifenvariable
 
Zitat:

Zitat von DGL-luke
Delphi-Quellcode:
for n in counts do //initialize the array
  n:=0;
mit dem ich ein array of integer intialisiere.

allerdings meckert mein d2005pe, dass ich eine zuweisung an eine schleifenvariable vornehme.

Vielleicht wolltest du ja eher diesen Code:

Delphi-Quellcode:
for n in counts do
  myArray[n] := n;
Grüße vom marabu

sakura 22. Mai 2005 17:50

Re: for .. in und zuweisung an schleifenvariable
 
Zitat:

Zitat von marabu
Vielleicht wolltest du ja eher diesen Code:
Delphi-Quellcode:
for n in counts do
  myArray[n] := n;

Macht nicht viel Sinn ;) N gibt Dir das Element zurück, nicht den Index. N könnte so auch vom Typ String oder ein Interface/Objekt sein ;)

...:cat:...

DGL-luke 22. Mai 2005 17:51

Re: for .. in und zuweisung an schleifenvariable
 
ach so... ich dachte, wenn man halt in einem string durch die chars läuft und unter einer bestimmten bedingung den char halt ändert, wäre das technisch nicht so schwierig.

danke, dass ihr mich eines besseren belehrt habt.

@marabu: geht das? nein das kann nicht gehen, da n ja kein index ist, oder? counts ist ja myarray. in deinem beispiel müsste counts ein array of integer sein oder so was....

@sakura: ja genau, sag ich doch... wieso postet ihr immer so schnell?

Robert_G 22. Mai 2005 17:53

Re: for .. in und zuweisung an schleifenvariable
 
@Marabu
Für mich sah es so aus, als wollte er damit einen Array erzeugen. :gruebel:
Eine direkte Zuwesung eines Arrayelementes wäre IMHO schon problemlos möglich. wobei ich da nicht viel Nutzen in der Praxis sehe... :gruebel:

marabu 22. Mai 2005 17:56

Re: for .. in und zuweisung an schleifenvariable
 
Danke für die Aufklärung - jetzt macht der opener erst Sinn für mich.

marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:02 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz