
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Hallo Achim, > Mit was für Bemerkungen? Das war eine Frage und eine Aussage im Konjunktiv für den Fall, dass. Sorry. Dann hatte ich das falsch aufgenommen. > Sie ist exotisch: Oder kennst Du eine signifikante Anzahl höherer Programmiersprachen (bei der > man die Endebedingung nicht selbst explizit festlegt), die diese Semantik bieten? Spontan fallen mir als > Sprachen, bei denen man die Endebedingung nicht explizit festlegt / festlegen muss, z. B. ein: > Pascal, PL/1 und andere Basics > Und die beiden ersten und alle Basic-Dialekte, die ich kenne, ausser dem CC-Basic, machen es nicht so > wie das CC-Basic. Die CC1 ist eben einzigartig. Ich denke einmal, daß diese Lösung einfach nur gemacht wurde, damit nicht zwischen positiven und negativen Schrittweiten im OS unterschieden werden muß. Das hat das Programmieren des OS sicher einfacher gemacht. > Und sie ist dämlich, weil dann jede FOR-Schleife, entgegen der Möglichkeit sämtlicher anderer höheren > Programmiersprachen, mindestens einmal durchlaufen wird. Naja. Das ist Ansichtsache. ;-) Das mit dem mindestens enmal Durchlaufen ist leider war. Aber so kann man auch For-Schleifen realisieren, die normal nicht möglich sind. Und wenn man wirklich eine exhte For-Schleife benötigt, muß man eben einen Kunstgriff machen: ;-) i = Startwert #loop if i > Endwert then goto exit_for '... '... i=i+1; goto loop #exit_for Oder eben: for i = Startwert to Endwert if i > Endwert then goto exit_for '... '... next #exit_for Ich weiß aber nicht, ob dies beim neuen OS der CC1 V2.0 so ohne weiteres möglich wäre. (Ich muß das einfach einmal ausprobieren.) Bei der CC1 V1.1 ist dies kein Problem. > Wenn ich z. B. alle Elemente einer Liste anfassen will, bietet sich (in CC-Basic ähnlicher Notation) an, > eine Schleife über alle Elemente so zu gestalten. > ... > Das funktioniert in allen Programmiersprachen auch dann ganz hervorragend, wenn die Liste leer, und > listenLänge = 0 ist - dann gibt es eben 0 Elemente und die Schleife wird 0-mal durchlaufen. > > Nur die CC würde hier 65536 Elemente ansprechen, die es gar nicht gibt. Dumm gelaufen. Es kann aber noch schlimmer kommen ! Stell Dir vor, "i" wäre eine Bytevariable. Rate mal, was dann passiert ... *grins* MfG André H. |
| Antwort schreiben |