Best Practices > Diskussionen zu Best Practices
[Themenvorschlag] Arrays / Textlisten
Don Pasquale:
@TMC
bei vielen anderen hätte ich abgewunken, aber weil Deine Projekte
immer hand und fuss haben und meistens einfach nur gut sind bin ich
gerne dabei mein Scherflein beizutragen.
Ciao
Don Pasquale
TMC:
Danke für Euer Feedback :)
Ich möchte das Thema nun langsam mal angehen....
Hier mal ein erster Auszug Kap. 1:
----------------------------------------------------------
Was ist ein Array?
Ein Array ist eine Sammlung von Daten die alle denselben Datentyp haben und die über eine fortlaufende Nummer indexiert sind.
Beispiel:
--- Code: ---Dim straBPMods(5) as String
straBPMods(0) = "Glombi"
straBPMods(1) = "koehlerbv"
straBPMods(2) = "MartinG"
straBPMods(3) = "Semeaphoros"
straBPMods(4) = "Thomas Völk"
straBPMods(5) = "TMC"
--- Ende Code ---
Erklärung des Beispiels:
Dim straBPMods(5) as String
Durch die Klammer am Ende des Variablen-Namens definieren wir das String als Array. Da wir einen fixen Wert in die Klammer geschrieben haben (hier: 5), definieren wir das Array als statisches Array – d.h. die Anzahl der Elemente des Arrays haben wir hier schon beim Dimmen fix vorgegeben.
Ein Array startet per Default immer bei "0" – hier spricht man oft auch von einem "null-basierten" oder "zero-based" - Array. Beim Dimmen kann man aber einen anderen Start vorgeben. Wir hätten oben auch schreiben können:
Dim straBPMods(0 to 5) as String
Wenn wir als Startnummer eine 1 vorziehen, können wir hier folgendes machen:
Dim straBPMods(1 to 6) as String
Alternativ kann man den Default-Wert von "0" als ersten Indexwert der Liste scriptweit auf "1" geändert werden mittels Option Base:
usw. usw.
----------------------------------------------------------
D.h. im Kap. 1 würde ich anhand des Beispiels ein paar Basics erklären (incl. UBound und LBound).
Dann weitere Kapitel die enthalten:
- Dynamische Arrays (incl. wann nehme ich die her, Redim (Preserve) etc.)
- Mehrdimensionale Arrays
- Listen
- Nützliche Funktionen (IsValueEmpty, ArrayCompare, Explode/Implode etc. etc.)
Nun meine Fragen an Euch:
Weitere Vorschläge?
Konkreter Input?
Will wer von Euch einen Part übernehmen? Oder Teile davon?
Hat wer von Euch schicke Array/List-Funktionen die er/sie zur Verfügung stellen möchte?
Soll man das anders gliedern?
Mark³:
gerade zum Thema Arrays sollten auch Beispiele in Javascript (für alle FrontEnd-Sachen, ist schnell, es gibt überall Democode, hat gute Arrayfunktionen) und Java (hat zig Array- und Stringbehandlungsfunktionen) dabei sein.
Ich benutze Arrays hauptsächlich für Auswertungen (alles in n-dimensionale Arrays packen, dann Daten auswerten, Ergebnis dann verexceln oder so) . In Fällen, wo Dokumente einer DocumentCollection mehrmals durchlaufen werden müssen ist das viel schneller, die benötigten Werte in ein Riesenarray zu werfen als die Notes-Dokumente direkt zu nehmen und mehrmals durch die Collection zu gondeln.
Formelsprache hat natürlich viel bessere Arrayfunktionen als Skript, für die meisten findet man aber an jeder Ecke eine Skriptumsetzung (@Explode in Lotusscript etc.). Hier wäre es interessant, nur die wirklich sauber programmierten Workarounds zu präsentieren. Ich habe selbst schon zig verschiedene Explode-Funktionen in Skript gesehen. Witzig wird das Ganze, wenn die ehemaligen Workaround-Funktionen plötzlich mit gleichem Namen in Notes 6 auftauchen. Da hatte ich schon Abstürze in Notes 6, die in Notes 5 nicht passieren, obwohl alles auf einem 6er Server läuft.
Kurz zusammengefasst: Für Arrays sind BP sicher sehr nützlich!
Marinero Atlántico:
Sollte - wie auch schon manchmal angemerkt - gemeinsam mit List gesehen werden.
Das sind Container oder Collections. Datenstrukturen, deren einzige Aufgabe darin besteht andere Elemente zu halten.
Für Java halte ich die Ranch Journal Einträge von Thomas Paul - Storing Objects (ab Juni 2002, 4 Teile) für lesenswert und newbie tauglich. Leute mit stärkeren Nerven können sich Kapitel 11 von Bruce Eckel, Thinking in Java, durchlesen.
http://www.javaranch.com/journal.jsp
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln