Short: Tuple return values Date: Sat, 9 Feb 2002 22:04:28 +0100 (CET) From: Markus Peter <warp@spin.de> Type: Feature State: New Hallo Mir ist heute etwas eingefallen, was evtl. ganz nett waere fuer den 3.3er Driver, und zwar geht es um das Problem, dass eine Methode/Funktion evtl. mal mehr als 1 Wert zurueckgeben will. Ein Objekt will man da oft nicht verwenden weil zu ueberdimensioniert, Pass-by-reference ist als Interface ebenfalls unschoen, also gibt man einen Array zurueck. Benutzt man die Methode/Funktion sieht das dann meist so aus: mixed tmp= function(); string str= tmp[0]; int i1= tmp[1]; etc. - nicht wirklich schoen. Perl hat dafuer eine schoene Loesung gefunden - und zwar kann man dort ein Konstrukt der Form ($var1,$var2,@rest)=function() machen, und der erste Wert des Rueckgabearrays wird dann an var1 zugewiesen etc. Eigentlich sollte es nichts geben, was es verbieten wuerde, ein Element dieser Art auch in LPC einzufuehren, also z.b.: ({str,i1})= function(); Ich faend das fuer Klarheit des Ausdrucks des Codes und Kuerze eigentlich ganz nett, (ausserdem krieg ich dann vielleicht mal zumindestens die Perlprogrammierer unter meinen faulen Wizards zum arbeiten ;-), kann aber natuerlich nicht beurteilen, wieviel Aufwand das konkret bedeutet, oder ob sich die Sprache dann fuer deinen Geschmack zu weit von seinen C-Syntax Wurzeln wegbewegt. -- Markus Peter - SPiN AG warp@spin.de