Nejrychlejší pole
23.07.2007
Lotus Notes
Jak v LotusScriptu vytvořit asociované, nebo neasociované pole na jednom řádku? Jednoduše.
Využijeme k tomu funkci Evaluate(). Evaluate vrací do proměnné typu variant pole návratových hodnot, minimálně s jednou hodnotou. Kupříkladu po tmp=Evaluate(|@Left("FuckOff"; "Off")|) bude v proměnné tmp pole(0) s hodnotou "Fuck" na nulté pozici.
Pokud tedy chceme rychle vytvořit prázdné dynamické pole, stačí napsat tmp=Evaluate(|""|). Pokud chcete prázdné pole s pěti hodnotami, stačí použít tmp=Evaluate(|"":"":"":"":""|). A od toho je již kousek k poli naplněnému: tmp=Evaluate(|"Pepa":"Franta":"Karel":"Matěj":"Jirka":"Honza":"Jindra":"Ondra"|) vytvoří pole 0-7, naplněné hodnotami.
Takže na co používat něco tak zrůdného:
Dim Arr(7) as String
Arr(0) = "Pepa"
Arr(1) = "Franta"
Arr(2) = "Karel"
Arr(3) = "Matěj"
Arr(4) = "Jirka"
Arr(5) = "Honza"
Arr(6) = "Jindra"
Arr(7) = "Ondra"
když si jen chci předat pole jako parametr?
Komentáře
split (vvv, 25.08.2007, 13:01:32)
tmp=split("Pepa|Franta|Karel|Matěj|Jirka|Honza|Jindra|Ondra","|")
pozor toto jed az od R6
(Lokutus - WWW, 08.09.2007, 11:30:26)
Máš pravdu, ale asi bych to napsal takhle:
tmp=split({Pepa|Franta|Karel|Matěj|Jirka|Honza|Jindra|Ondra},{|})
Obávám se, že s uvozovkama to fungovat takhle nebude, protože pajpa má vyšší prioritu.