Lotus Notes / Domino Sonstiges > Projekt Bereich

Welche Schleife wann in Script

<< < (6/16) > >>

Semeaphoros:
Wow, sieht schon ganz gut aus.

Beim Text über die Kopfgesteurten Do Schlaufen schreib sie vielleicht aus, nicht so kurz, wie ich das tat:

Do while ...... loop
Do until ...... loop

so wie das auch bei den fussgesteuerten der Fall ist.

Uebrigens, while ... wend gehört auch zu den kopfgesteuerten, währen for ... next zu den fussgesteuerten gehört.

do ... loop und forall passen nicht in dieses Schema, wobei gleich anzumerken ist, dass do .... loop von vielen Leuten eh als schlechte Struktur angesehen wird, da man die Schlaufe "gewaltsam" abbrechen muss, indem man mit einem exit loop aus der Mitte rausspringen muss. In vielen Theorien ist ein solches Verlassen einer Schlaufe schlichtweg verboten: Eine Schlaufe darf genau einen Ausgang haben. Und auch wenn ich die Ausnahme zulasse, vermeide ich es tatsächlich, bei einer Schlaufe einen zweiten Ausgang ..... oder einen Ausgang in der Mitte (wie er für do .... loop als einziger möglich ist) zu verwenden.

TMC:
danke für Deinen sehr hilfreichen Input Semeaphorus!
Werde ich noch einarbeiten.

by the way eine Frage an Dich (hab hier schon irgendwo gelesen, dass Du Dich früher verstärkt mit Sprache beschäftigt hast, wenn ich mich nicht irre):

Was ist richtig(er):
 - Schleife
 - Schlaufe
Ich persönlich sage unbewusst Schleife dazu.

Gruss,
TMC

Semeaphoros:
Nein, Du irrst nicht.

Trotzdem kann ichs nicht auswendig beantworten .... aber der Etymologieduden bestätigt meine Vermutung:

Schlaufe: südwestdeutsch uns scheizerisch, mundartlich, ältere Form von Schleife, im Hochdeutschen nur noch in Spezialbedeutungen wie "Lederring", "feste Schlinge", zB am Gürtel oder Skistock.

Damit ist beides dasselbe Wort und es hängt offenbar davon ab, wo Du wohnst, welches Du lieber verwendest und ob Dein Sprachstand eher etwas älter oder jünger ist *smile*

Semeaphoros:
Hm, da hab ich grad eine interessante Erscheinung gehabt:

Es sieht so aus, dass innerhalb einer Forall-Schlaufe/Schleife :-) kein Loop möglich ist. While Wend hat aber funktioniert, das ist eher seltsam, müsste aber wohl noch überprüft werden.

Don Pasquale:
@TMC,

da will ich auch gerne mein Scherflein beitragen ,
ich habe mir aber auch das einfachste rausgesucht.

For.. Next

Die iterative Schleife oder auch Zählschleife genannt

Die einfachste Schleifenform, die jeder kennt ist
wahrscheinlich die folgende. Dabei wird der Code
der zwischen For und Next befindet wiederholt.
Das i kann dabei durchaus als Grundlage für irgendwelche
Berechnungen dienen oder auch ignoriert werden.

--- Code: ---' Alle Zahlen von 1 bis 100
For i = 1 To 100
   Print i   
Next

--- Ende Code ---
   
Schleifen lassen sich schachteln, dabei muss beachtet
werden, dass sich ein Next _immer_ auf das vorherige
For bezieht
also :

--- Code: ---   'Alle möglichen Tupel
   For i = 1 To 10
      For j = 1 To 5
         Print "Tupel " & i & j
      Next
   Next

--- Ende Code ---

und nicht:

--- Code: ---
   'Alle möglichen Tupel
   For i = 1 To 10
      For j = 1 To 5
         Print "Tupel " & i & j
      Next i
   Next j
 
--- Ende Code ---
  
Daraus folgt, dass die Bezeichner i und j hinter dem
Next auch weggelassen werden können.


Die Schrittweite
Die Schrittweite bei den bisherigen Beispieln war immer
1.  Sie kann aber auch Negativ sein, wie bei einem
Countdown :

--- Code: ---'CountDown   

   For i = 10 To 1 Step -1
      Print i
   Next
                Print "Start der Raumpatrouillie Orion"

--- Ende Code ---

Die Schrittweite kann aber auch jeden beliebigen
anderen Wert annehmen, z.B. 0.1

 
--- Code: ---  
   Dim Start As Long
   Dim Ziel As Long
   Dim Schrittweite As Long
   Start = 1.1
   Ziel = 2.4
   Schrittweite = 0.1

   For X = Start To Ziel Step Schrittweite
  Print x    
   Next


--- Ende Code ---


Der Befehl Step ist also eine Option. Deswegen wird er meist
in eckige Klammern gesetzt.

For [Step]
Next


Ciao
Don Pasquale

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln