Zurück   Flashforum > Flash > Stuff

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 22-04-2005, 14:31   #1 (permalink)
Flashaholic
 
Benutzerbild von atothek
 
Registriert seit: Feb 2003
Ort: Berlin
Beiträge: 1.459
[Stuff]Function Merge methoden zusammenführen

Hey leutz,

hatte gerade ne lustige idee, war villeicht schon da
aber was war nicht schonmal da

Es geht darum mehrere function zusammenzufügen zu einer
bzw. einer methode immer neue dazuzufügen, ich kenne das aus C#.

hier mal das ganze

ActionScript:
  1. Function.merge = function() {
  2.     var fl = new Array(); // fl ==> functionList
  3.     var al = Array(); // al ==> argumentList
  4.     for( var i = 0; i < arguments.length; i++ ) {
  5.         if( arguments[i] instanceof Function )
  6.             fl.push( arguments[i] );
  7.         else if( arguments[i] instanceof Array )
  8.             al.push( arguments[i] );
  9.     }
  10.     var l = fl.length;
  11.     return function() {
  12.         for( var i = 0; i < l; i++ )
  13.             fl[i].apply( o, al[i] );
  14.     }
  15. }


Anwendung

ActionScript:
  1. f1 = function ( p1, p2 ) {
  2.     trace( "f1: " + arguments );
  3. };
  4.  
  5. f2 = function () {
  6.     trace( "f2: " + arguments );
  7. };
  8.  
  9. f3 = function ( p1, p2 ) {
  10.     trace( "f3: " + arguments );
  11. };
  12.  
  13. f4 = function () {
  14.     trace( "f4: " + arguments );
  15. };
  16.  
  17. f = Function.merge( f1, f2, f3, f4, [0, 1, 2], ["a", "b", "c"], [0, 1, 2], ["a", "b", "c"] );
  18. f();

bei ideen kritik etc. wie immer nur raus damit

mfg
alex
__________________
TVNEXT Solutions
atothek ist offline   Mit Zitat antworten
Alt 22-04-2005, 14:35   #2 (permalink)
logout
 
Benutzerbild von JoshXP
 
Registriert seit: Aug 2003
Ort: Freiburg
Beiträge: 354
while schleifen statt for benutzen die sind um einiges schneller in flash.

mfg
__________________
Die Welt ist nicht das was du siehst sonder das was du glaubst zu sehen.

Wird auch in dunkelen ecken das Kellertier genannt.
JoshXP ist offline   Mit Zitat antworten
Alt 23-04-2005, 10:14   #3 (permalink)
Gelegenheits-DAU
 
Benutzerbild von TOAOTC
 
Registriert seit: May 2003
Ort: Schwerin - come to where the Hecht beißt
Beiträge: 187
Stimmt - die Idee ist nicht neu und nennt sich ist als sogenannter Broadcaster bekannt.

Wirf mal 'nen Blick in meine Signatur.

Gruß
TOAOTC ist offline   Mit Zitat antworten
Alt 23-04-2005, 10:52   #4 (permalink)
Flashaholic
 
Benutzerbild von atothek
 
Registriert seit: Feb 2003
Ort: Berlin
Beiträge: 1.459
@ TOAOTC na nen Broadcaster ist schon etwas anderes, da er eventbasiert arbeitet und ein eigens EventInfo object bestenfalls nutzt. er wird ja auch vollkommen unterschiedlich implementiert.

die ähnlichkeit zu einem Call/Delegate ist da ja eher vorhanden als zu einem Broadcaster. Broadcaster/Dispatcher gibt es ja wie sand am meer und jeder köchelt halt sein süppchen .


mfg
alex
__________________
TVNEXT Solutions
atothek ist offline   Mit Zitat antworten
Alt 23-04-2005, 12:40   #5 (permalink)
Gelegenheits-DAU
 
Benutzerbild von TOAOTC
 
Registriert seit: May 2003
Ort: Schwerin - come to where the Hecht beißt
Beiträge: 187
Ooops - jetzt sehe auch ich es.
Da haben wir es wieder: "think before you type"...

Du gibst da 'ne neue Funktion zurück. Das habe ich zuerst gar nicht gesehen.
Sehr interessanter Aspekt. Mal sehen, wo man das sinnvoll verbauen kann.

fGruß :-)
TOAOTC ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 18:29 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele