Domino 9 und frühere Versionen > ND6: Entwicklung

Einzelwert innerhalb Liste durch Replace in Listenwert austauschen

(1/2) > >>

mibo11:
Hallo,

steht im Momemt auf dem Schlauch.

Wie tausche ich einen Einzelwert innerhalb einer Liste in einen Listenwert?

Ich habe ein Kontrollkästchen und möchte die Werte dynamisch erzeugen.

quell_liste := "A":"B":"C";
ziel_liste := "Wert1|1": ("Wert2|2":Wert2a|2a" ) :"Wert3|3";
@Replace(quell_liste;ziel_liste)

In meinem Beispiel soll B ausgetauscht werden durch 2:2a.

Wie geht das?

Gruß Sascha


TMC:
D.h. die Liste, die ursprünglich z.B. 3 Listenwerte hatte, soll dann 4 Listenwerte haben, oder?

Vermutlich geht das nicht so einfach.
Vermutlich musst Du die Liste entsprechend neu zusammensetzen.

z.B. mit @Member also die Position suchen. Mit @GetMembers die Listenelemente links und rechts von dem zu ersetzenden Listenelement rausziehen und dann zusammensetzen.

TMC:
Ach ja, der @GetMembers ist leider nicht dokumentiert.



@GetMembers ( Liste ; Position ; [ Anzahl ] )

* Liste: Die Liste aus der Einträge ausgelesen werden sollen
* Position: Die Startposition der Liste, Typ Integer
* Anzahl: Optional. Die Anzahl der Einträge die zurückgegeben werden sollen. Typ Integer.
   Wenn das Schlüsselwort nicht angegeben wird, wird nur 1 Eintrag zurückgegeben.

Beispiele:
Dieses Beispiel gibt die Liste "B":"C":"D" zurück
_List := "A" : "B" : "C" : "D" : "E";
 @GetMembers(List; 2; 3)

 Dieses Beispiel gibt "C" zurück
_List := "A" : "B" : "C" : "D" : "E";
@GetMembers(_List; 3)

koehlerbv:
Ich befürchte auch, das geht nicht "einfach", da sowohl @Replace als auch @ReplaceSubstring immer die Dimension der Ursprungsliste respektieren.

So, wie von Matthias vorgeschlagen prinzipiell vorgeschlagen wurde, würde ich das auch angehen (wenn kein LS in Frage kommt).
Da @Getmembers undokumentiert ist, sollte man vielleicht zur Sicherheit vielleicht doch auf @Subset ausweichen, da dadurch das Konstrukt noch nicht mal sehr aufgebläht würde (vor allem durch die Möglichkeit, negative Werte angeben zu können).

Bernhard

EDIT: Auf das undokumentierte Getmembers hat TMC unterdessen schon hingewiesen ...

TMC:
Stimmt, Bernhard, @Subset ist hier eigentlich besser als @GetMembers, und auch sehr einfach umzusetzen.
Mit diesen undokumentierten Dingen muss man eh immer sehr vorsichtig sein, in der Designerhilfe zur R7 Beta 2 wird @GetMembers übrigens auch nicht erwähnt.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln