Autor Thema: Welche Schleife wann in Script  (Gelesen 57001 mal)

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Welche Schleife wann in Script
« Antwort #20 am: 30.09.03 - 23:00:11 »
/ot an
@Semeaphoros: das genau dachte ich auch, aber 2 Physik/Chemie-Lehrer hatten uns afaik was anderes erzählt (war so Mittelstufe auf'm Gym...). Ich dachte auch immer Theorie sei eine "Überlegung" und der Auslöser, warum man einen Versuch macht und aus dem Versuch resultiert *hoffentlich* der Beweis.
Damals wurde uns afaik erklärt:
 - Hypothese sei das was ich jetzt als Theorie beschrieben habe
 - Theorie sei Ein Ergebnis des Versuches (was ja auch wieder den griechischen Ursprung "sehen" verdeutlicht: Ganz früher haben ja die Wissenschaftler nicht selbst Szenarien für Versuche aufgebaut, sondern wirklich in der Natur >beobachtet<.).
Aber das endet jetzt wahrscheinlich in Wortklauberei.... Und ich glänze nur mit Halbwissen.
/ot aus

Danke für die Hinweise Glombi.

Und danke für den Hinweis Bernhard "wie komm ich wieder raus", möchte ich auch noch mit einbauen.


TMC
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline koehlerbv

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Welche Schleife wann in Script
« Antwort #21 am: 30.09.03 - 23:01:18 »
Zitat
Bernhard (auf dem Weg ins Bett)

Zitat
Andreas (auch auf dem Weg ins Bett)


Leute, Leute - nix mißverstehen - da sind hunderte Kilometer dazwischen !!!!!!!

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Welche Schleife wann in Script
« Antwort #22 am: 30.09.03 - 23:02:55 »
Hey, moment, habt Ihr eigentlich gemerkt, dass wir innerhalb von  33 Sekunden gleich 3 Posts in diesem Thread gemacht haben? Das soll uns erst einmal jemand  nachmachen.

Gute Nacht allerseits
« Letzte Änderung: 30.09.03 - 23:12:06 von Semeaphoros »
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Glombi

  • Gast
Re:Welche Schleife wann in Script
« Antwort #23 am: 30.09.03 - 23:06:46 »
Bernhard, gut dass Du das klargestellt hast  ;)

Jetzt aber endgültig: Gute Nacht!
Andreas

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Welche Schleife wann in Script
« Antwort #24 am: 30.09.03 - 23:56:45 »
nun wieder im Topic  ;D

Habe schon mal den bisherigen Input im attachten Word-Doc zusammengefasst (Draft!!).

Insbesonders simple Praxis-Beispiele wären noch hilfreich zu

- ForAll
- For...Next
- Do...Loop
- Do Until...Loop
- Do...Loop While
- Do....Loop Until

Danke,
TMC

** EDIT **
Anhang hier gelöscht, aktueller Anhang ist im ersten Posting
« Letzte Änderung: 04.10.03 - 19:49:16 von TMC »
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Welche Schleife wann in Script
« Antwort #25 am: 01.10.03 - 00:22:02 »
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.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Welche Schleife wann in Script
« Antwort #26 am: 01.10.03 - 00:30:55 »
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
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Welche Schleife wann in Script
« Antwort #27 am: 01.10.03 - 01:18:24 »
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*
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Welche Schleife wann in Script
« Antwort #28 am: 01.10.03 - 03:40:49 »
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.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Re:Welche Schleife wann in Script
« Antwort #29 am: 01.10.03 - 09:32:37 »
@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
   
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 

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
 
  
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"

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



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

For [Step]
Next


Ciao
Don Pasquale
« Letzte Änderung: 01.10.03 - 09:38:17 von Don Pasquale »

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Welche Schleife wann in Script
« Antwort #30 am: 01.10.03 - 10:34:33 »
Zu meinem oben genannten Problem mit loop innerhalb einer Forall-Schleife: da war der Fehler zwischen Tastatur und Rückenlehne zu suchen. In der Hitze des Gefechtes hat mir wohl eine andere der run ein Dutzend Programmiersprachen, die ich kenne, einen Streich gespielt und ich hab versucht den Do -- Loop mit dem Keyword Loop einzuleiten .... typisch, wenn man im Gehetz rasch noch eine Korrektur machen muss ....

Experimentieren in Ruhe ergab dann, dass Lotusscript problemlos und korrekt Schlaufen verschachteln kann.

Sorry für die Fehlmeldung
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Welche Schleife wann in Script
« Antwort #31 am: 01.10.03 - 10:47:43 »
Zwei weitere Punkte, die irgendwie Aufnahme oder Ergänzung verdienen:

1:
Wie Bernhard schon angedeutet hat, der Ausstieg aus der Schlaife (hehe, der sprachliche Kompromiss :-) sollte besonders hervorgehoben werden: Sprich, man sollte sich jederzeit bewusst sein, welches die Abbruchbedingung ist und ob sie überhaupt erreicht werden kann (in der theor. Informatik ist das dann eine Frage der Korrektheit des Programmes).

2:
Ein ganz besonderer Hinweis, welche die gestellte Frage "Welche Schleife ..." ein wenig auf die "philosophische" Seite bringt: Bis zu einem grossen Teil ist die Wahl der Schleife eine Frage des Geschmacks, der Gewohnheiten und vielleicht auch eine  Frage, wie gut der Compiler welche Schleife zu übersetzen mag (also schliessclich eine Frage von Effizienz des Codes und Performance). Es lässt sich schliesslich zeigen, dass fast alle Schlaufen sich logisch in fast jede andere Sorte von Schleife umsetzen lassen. Ein For-Next Loop lässt sich ohne weiteres durch eine While-Wend (und damit durch gleichbedeutend do while -- loop) ersetzen usw. usw. Als mir gestern das Einsetzen eines do --- loop until nicht gelungen ist, hab ich es kurzerhand durch ein weniger elegantes (im gegebenen Fall) while --- wend ersetzt, also selbst fussgesteuerte Schlaufen lassen sich durch kopfgesteurte Schleifen ersetzen. Etwa so:

Ich wollte:
ExitFlag=False
Do
Rem ....... hier der produktive Code, der irgndwo das Exitflag auf True setzt und damit die Abbruchbedingung gibt
loop until ExitFlag

Ersetzt durch
ExitFlag=False
While (Not ExitFlag)
Rem ....... hier der produktive Code, der irgndwo das Exitflag auf True setzt und damit die Abbruchbedingung gibt
Wend


Ok, ok, eingefleischte C-Leute (und andere) würden da natürlich sowieso mit einem Do --- loop und einem Exit Loop arbeiten, das wiederum wäre aber ein gravierender Verstoss gegen die ursprünglichen Grundregeln der strukturierten Programmierung.

PS: Ich hab versucht, diesmal allen Sprachregionen gerecht zu werden und die Schlaifen etwa gleichmässig auf den Text verteilt ....... :-)))
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Welche Schleife wann in Script
« Antwort #32 am: 01.10.03 - 18:53:43 »
Zwischenfrage: habt ihr noch vor, zur Perfomance der Schleifen etwas zu sagen? Sonst kram ich in einigen Blogs herum, wann man unter Perfomance Gesichtspunkten welche Schleife in Lotus Notes nehmen sollte. Gibt so 3-4 Untersuchungen, und wenn mich nicht alles täuscht in einer Notes PDF Datei, dessen  Titel ich nicht genau weiß (kann Inside Notes sein, muß aber nicht).
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline koehlerbv

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Welche Schleife wann in Script
« Antwort #33 am: 01.10.03 - 20:05:35 »
Performance wäre eine hochinteressante Frage! Das könnten wir ja auch mit eigenen Messungen untermauern.
Jetzt kommen wir aber ggf. vom Hundertsten in Tausendste (warum aber auch nicht), denn innerhalb der Schleife könnte ja sowas wie
Set doc = coll.GetNthDocument (iLoop) vorkommen,
was ja bei grossen Collections der absolute Performancekiller ist.
Sollte man vielleicht mit erwähnen.

Bernhard

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Welche Schleife wann in Script
« Antwort #34 am: 01.10.03 - 20:53:07 »
Hey, prima, da tut sich ja echt was  ;D

Dank Euch allen für die Unterstützung. Werde alles noch einbauen in die Doku.

@Rob: das wäre prima wenn Du da was hast.

Meinetwegen wird das Word-Doc (bzw. wenn fertig PDF) zu Schleifen auch 100 Seiten dick, solange alles übersichtlich bleibt.
Die Schleifen können ja in Kap. 1 nur kurz und knapp erklärt werden mit 1 Beispiel, und ab Kap. 2 gehts dann in die Tiefe.....
Na ja mal schauen....

Grüße,
TMC
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Welche Schleife wann in Script
« Antwort #35 am: 01.10.03 - 21:16:41 »
Rob: Literatur zu Schleifenperformance zu suchen dürfte sich lohnen, ich hab jedenfalls keine Ahnung, wie sich die Schleifentypen dahingehend unterscheiden.

Normalerweise ist das ja auch eher ein untergeordneter Punkt.

TMC: Ich denke, irgendwo ist sicher der Hinweis angebracht, dass die Performance des Schleifeninhaltes einen ganz erheblichen Einfluss auf die Gesamtleistung des Systemes haben kann, denn schliesslich isit die Schleife ja dazu da, Code repetitiv und ggf. auch in riesiger Anzahl durchlaufen zu lassen. Die Performance von Schleifeninhalten zu verbessern, lohnt sich also sehr rasch einmal. Das berühmte und hier auch schon mehr als einmal erwähnte Beispiel ist der Fall vom GetNthDocument in den verschiedenen Kollektionen.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Welche Schleife wann in Script
« Antwort #36 am: 02.10.03 - 10:17:49 »
so, bißerl rumgekramt und das zB gefunden

- Forall gegen For Loops
http://www.breakingpar.com/bkp/home.nsf/Doc!OpenNavigator&87256B280015193F87256D16005D9096

- Test For gegen While Schleife
http://www.basicthinking.de/blog/archive/000059.htm

- nochmals Forall gegen For Loops
http://dewalick.dominodeveloper.net/dewalick/home.nsf/perm/LOG-2003050500/?open
- dazu (habs nun auch woher:"Perfomance Considerations for Domino Applications" (Redbook?)) auch der Kommentar:
There is small chapter about Forall and Arrays:
Use Forall Instead of For in Referencing Array Elements
Forall loops are faster in handling arrays than For loops.
Forall is 75 percent faster than For when referencing all elements in a
1-dimensional numeric array, and 50 percent faster when referencing
elements in a 2-dimensional array. Similar performance improvements
occur in arrays with higher numbers of dimensions.
String arrays achieve somewhat less performance improvement than
numeric arrays, but these are still significant.

- measuring script performance
1. http://www.ferdychristant.com/fchristant/homepage.nsf/archive/20030325-0812%20AM?OpenDocument&count=-1

2. http://www.ferdychristant.com/fchristant/homepage.nsf/archive/20030328-0657%20AM?OpenDocument&count=-1

- perfomance testing
http://www.eview.com/eview/viewr5.nsf/e640f630a3361f84852568f600070fd3/61fb8d0e2748d24c85256a55007c9543?OpenDocument
« Letzte Änderung: 02.10.03 - 10:19:16 von Rob Green »
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Welche Schleife wann in Script
« Antwort #37 am: 02.10.03 - 23:55:57 »
cool, prima Links @Rob.
Super hilfreich.

Nun liegt es an mir, den Input in die Doku reinzubringen.

Ich werde das demnächst mal angehen.
Mein Wunsch ist es ja, hier im Forum das erste Projekt mit "Erledigt" zu setzen  ;D
Also hier demnächst eine PDF reinzustellen und sagen zu können "That's it".

TMC

ich bitte jeden um weitere Tipps, Hilfen, Beispiele.....
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Welche Schleife wann in Script
« Antwort #38 am: 03.10.03 - 00:12:00 »
Ja, weitere Beispiele wären wirklich noch nötig. Ich hab schon in einem anderen Thread versucht, einen Querverweis zu machen, werde drauf achten, die Leute darauf aufmerksam zu machen. Bin gespannt auf das Büchlein.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Welche Schleife wann in Script
« Antwort #39 am: 03.10.03 - 00:14:00 »
Noch etwas, bis jetzt ist es vielleicht noch zu sehr ein Spezialthema, aber sieht oder wünscht jemand, dass man aus soetwas mit noch etwas mehr ein Thema machen würde für die Developer 2004 nächsten Februar? Ich könnte das Thema dort aufgreifen und eine Session dazu anbieten. Bisher ist noch alles möglich, es gibt noch kein Programm für die Veranstaltung, also beste Zeit, um Wünsche anzubringen.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz