Accueil > > > CLASS DE LIBRAIRIE DE FONCTION SUR LES ARRAYS, INSPIRÉE DE PHP
CLASS DE LIBRAIRIE DE FONCTION SUR LES ARRAYS, INSPIRÉE DE PHP
Information sur la source
Description
// CLASS 2006 ///////// // Arr // 0.0.3 // HopemultiMedias.com /////////////////////// /** * Toutes les fonctions ici, ont leurs noms venant de la version PHP, à l'exception de "move()" n'existant pas en PHP. * Toutes acceptant le même nombre et le même type de paramètre que leurs consoeurs PHP, à l'exception de "rand()". * */ // Retourne la position du pointeur du tableau passé, ou null. public static function pos ( a :Array ) :Number // Reinitie la position du pointeur du tableau à 0. Crée le pointeur si nécessaire. public static function reset ( a :Array ) :Object // Renvoie l'élément actuel indiqué par le pointeur interne du tableau. // Si le pointeur n'existe pas encore, en créer un par appel à "reset()" et renvoie donc l'élément 0. public static function current ( a :Array ) :Object // Déplace le pointeur interne du tableau jusqu'au dernier élément et retourne sa valeur. // Si le pointeur n'existe pas encore, en créer un par appel à "reset()". public static function end ( a :Array ) :Object // Recule le pointeur et retourne le nouvel élément indiquer par le pointeur ou NULL s'il n'y a plus d'éléments. // Si le pointeur n'existe pas encore, renvoie NULL sans en créer. public static function prev ( a :Array ) :Object // Avance le pointeur et retourne le nouvel élément indiquer par le pointeur ou NULL s'il n'y a plus d'éléments. // Si le pointeur n'existe pas encore, renvoie NULL sans en créer. public static function next ( a :Array ) :Object // Déplace le pointeur sur la nouvel position passée et en retourne l'élément, SI, la nouvel position // du pointeur est bien un entier supérieur à 0 et inférieur à la longeur du tableau . Sinon échoue et renvoie NULL. public static function move ( a :Array, nPos :Number ) :Object // Retourne l'array passée, en array contenant des "lignes" object paramètrer selon la liste de nom des arguments passés. public static function list ( a :Array, _argus_ ) :Array // Mélange l'array passée et la retourne public static function shuffle ( a :Array ) :Array // Retourne un objet dont le nom des variables sont les éléments de l'array "a" avec pour valeur, public static function combine ( a :Array, b :Array ) :Object // Retourne une copie de l'array passée, composée de sous-array de la longeur passée. public static function chunk ( a :Array, nLength :Number ) :Array // Retourne un "object" contenant le nombre de fois que se répéte les éléments de l'array passée. public static function countVal ( a :Array ) :Object // Renvoie une array des éléments ne figurant que dans "a" OU que dans "b". public static function diff ( a :Array, b :Array ) :Array // Retourne une array des éléments figurants dans "a" et dans "b". public static function intersect ( a :Array, b :Array ) :Array // Retourne la somme de tous les éléments de l'array passée. public static function sum ( a :Array ) :Number // Renvoie le fruit de la multiplication de tous les éléments entre eux. public static function product ( a :Array ) :Number // Applique la fonction passée sur chaque élément de l'array passée. public static function walk ( a :Array, fCallback :Function, _argus_ ) :Void // Contrairement à la version PHP renvoyant une Array d'indice, cette version retourne // une array d'éléments, de la longeur passée, choisis au hazard du tableau passé. public static function rand ( a :Array, nLength :Number ) :Array // Retourne une copie de l'array passée, nettoyée de tous ses doublons. public static function unique ( a :Array ) :Array // Indique si l'array passée contient l'élément passé. public static function has ( a :Array, oItem ) :Boolean
Source
- Code du Fla joint :
-
-
- import hope.core.Arr ;
-
-
- myNums = new Array ('uno','dos','tres','cuatro','cinqo','seis','siete') ;
- Arr.reset(myNums) ;
- num = Arr.end(myNums) ;
- while ( num ) { trace(">"+num) ; num=Arr.prev(myNums) } ;
- // Affiche : >siete > seis >cinqo >cuatro >tres >dos >uno
-
-
- i = 10 ;
- while ( (i-=3)>-3 ) { num=Arr.move(myNums,i) ; trace(">"+num) } ;
- // Affiche : >null >cinqo >dos >null
-
-
- users = new Array ( "Jean",30,"Paris","sans emploi",
- true,"Alex",45,"Mans", "boulanger",false,
- "Paul",25,"Lyon","ouvrier",true,"Anne",
- 43,"Laval","PDG",false ) ;
- list = Arr.list( users, "name",null,"city","job",null ) ;
- line = Arr.reset(list) ;
- while ( line ) {
- trace ( ">"+line.name+","+line.city+","+line.job ) ;
- line = Arr.next(list) ;
- } // Affiche : >Jean,Paris,sans emploi >Alex,Mans,boulanger >Paul,Lyon,ouvrier >Anne,Laval,PDG
-
-
- panier = [] ; boule=0 ; while( ++boule<50 ) panier.push(boule) ;
- Arr.shuffle(panier) ; tirage = panier.splice(0,6) ; trace(">"+tirage) ; // Affiche un tirage de loto !!!
- panier = panier.concat(tirage) ; // On remet les boules !
- trace ( ">"+Arr.rand(panier,6) ) ; // Affiche un nouveau tirage !!!
- trace ( ">"+(Arr.rand(panier,100)).length ) ; // Affiche : >49, puisque "panier" n'a que 49 éléments
-
-
- trace ( "Arr.combine() :" ) ;
- titles = myNums.concat() ;
- values = new Array (1,2,null,4,5,6) ;
- TRAD = Arr.combine(titles,values) ;
- for ( i in TRAD ) trace ( ">"+i+" est "+TRAD[i] ) ;
- // Affiche : >siete est undefined >seis est 6 >cinqo est 5 >cuatro est 4 >tres est null >dos est 2 >uno est 1
-
-
- myMap = ['a','b','c','d','f','g','h','i','j'] ;
- a2D = Arr.chunk(myMap,4) ;
- i = -1 ; while ( ++i < a2D.length ) trace ( ">"+a2D[i] ) ;// Affiche : >a,b,c,d >f,g,h,i >j
-
-
- values = ["a",4,1,"a",8,5,"a","b",5,"a"] ;
- myCount= Arr.countVal(values) ;
- for ( i in myCount ) trace ( ">"+i+":"+myCount[i]+" fois" ) ;
- // Affiche : >b:1 fois >5:2 fois >8:1 fois >1:1 fois >4:1 fois >a:4 fois
-
-
- mapA = ['Madrid','Lyon','Rome','Berlin','NewYork'] ;
- mapB = ['Paris','Madrid','Londres','Paris','NewYork','Rome'] ;
- trace ( ">"+Arr.diff(mapA,mapB) ) ; // Affiche : >Lyon,Berlin,Paris,Londres;
- trace ( ">"+Arr.intersect(mapA,mapB) ) ; // Affiche : >Madrid,Rome,NewYork
-
-
- values = [1,2,5,10] ;
- trace ( ">"+Arr.product(values) ) ; // Affiche : >100
- trace ( ">"+Arr.sum(values) ) ; // Affiche : >18;
-
-
- function cutCity ( ITEM, i, n ) { return ITEM.substr(i,n).toUpperCase() ; }
- Arr.walk(mapB,cutCity,0,3) ; trace(">"+mapB) ; // Affiche : >PAR,MAD,LON,PAR,NEW,ROM
-
-
- users = ['PAUL','paul','Céline','Alex','Céline','PAUL','Ana'] ;
- trace(">"+Arr.unique(users) ) ; // Affiche : >paul,Alex,Ana
- trace(">"+Arr.has(users,'Ana') ) ; // Affiche : >true
- trace(">"+Arr.has(users,'cÉliNe') ) ; // Affiche : >false
Code du Fla joint :
import hope.core.Arr ;
myNums = new Array ('uno','dos','tres','cuatro','cinqo','seis','siete') ;
Arr.reset(myNums) ;
num = Arr.end(myNums) ;
while ( num ) { trace(">"+num) ; num=Arr.prev(myNums) } ;
// Affiche : >siete > seis >cinqo >cuatro >tres >dos >uno
i = 10 ;
while ( (i-=3)>-3 ) { num=Arr.move(myNums,i) ; trace(">"+num) } ;
// Affiche : >null >cinqo >dos >null
users = new Array ( "Jean",30,"Paris","sans emploi",
true,"Alex",45,"Mans", "boulanger",false,
"Paul",25,"Lyon","ouvrier",true,"Anne",
43,"Laval","PDG",false ) ;
list = Arr.list( users, "name",null,"city","job",null ) ;
line = Arr.reset(list) ;
while ( line ) {
trace ( ">"+line.name+","+line.city+","+line.job ) ;
line = Arr.next(list) ;
} // Affiche : >Jean,Paris,sans emploi >Alex,Mans,boulanger >Paul,Lyon,ouvrier >Anne,Laval,PDG
panier = [] ; boule=0 ; while( ++boule<50 ) panier.push(boule) ;
Arr.shuffle(panier) ; tirage = panier.splice(0,6) ; trace(">"+tirage) ; // Affiche un tirage de loto !!!
panier = panier.concat(tirage) ; // On remet les boules !
trace ( ">"+Arr.rand(panier,6) ) ; // Affiche un nouveau tirage !!!
trace ( ">"+(Arr.rand(panier,100)).length ) ; // Affiche : >49, puisque "panier" n'a que 49 éléments
trace ( "Arr.combine() :" ) ;
titles = myNums.concat() ;
values = new Array (1,2,null,4,5,6) ;
TRAD = Arr.combine(titles,values) ;
for ( i in TRAD ) trace ( ">"+i+" est "+TRAD[i] ) ;
// Affiche : >siete est undefined >seis est 6 >cinqo est 5 >cuatro est 4 >tres est null >dos est 2 >uno est 1
myMap = ['a','b','c','d','f','g','h','i','j'] ;
a2D = Arr.chunk(myMap,4) ;
i = -1 ; while ( ++i < a2D.length ) trace ( ">"+a2D[i] ) ;// Affiche : >a,b,c,d >f,g,h,i >j
values = ["a",4,1,"a",8,5,"a","b",5,"a"] ;
myCount= Arr.countVal(values) ;
for ( i in myCount ) trace ( ">"+i+":"+myCount[i]+" fois" ) ;
// Affiche : >b:1 fois >5:2 fois >8:1 fois >1:1 fois >4:1 fois >a:4 fois
mapA = ['Madrid','Lyon','Rome','Berlin','NewYork'] ;
mapB = ['Paris','Madrid','Londres','Paris','NewYork','Rome'] ;
trace ( ">"+Arr.diff(mapA,mapB) ) ; // Affiche : >Lyon,Berlin,Paris,Londres;
trace ( ">"+Arr.intersect(mapA,mapB) ) ; // Affiche : >Madrid,Rome,NewYork
values = [1,2,5,10] ;
trace ( ">"+Arr.product(values) ) ; // Affiche : >100
trace ( ">"+Arr.sum(values) ) ; // Affiche : >18;
function cutCity ( ITEM, i, n ) { return ITEM.substr(i,n).toUpperCase() ; }
Arr.walk(mapB,cutCity,0,3) ; trace(">"+mapB) ; // Affiche : >PAR,MAD,LON,PAR,NEW,ROM
users = ['PAUL','paul','Céline','Alex','Céline','PAUL','Ana'] ;
trace(">"+Arr.unique(users) ) ; // Affiche : >paul,Alex,Ana
trace(">"+Arr.has(users,'Ana') ) ; // Affiche : >true
trace(">"+Arr.has(users,'cÉliNe') ) ; // Affiche : >false
Historique
- 17 décembre 2005 08:57:56 :
- Mise à jour de la fonction "walk()", celle-ci agit maitenant,comme pour PHP, sur l'array passée.
Remplacement de "a.length" par "n" car je suis entièrement d'accord avec SuperDevy, même si j'ai oublié de la faire pour certaine fonction. Rectifié !
- 17 décembre 2005 09:00:24 :
- Actualization du code de démo.
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
re gotoAndPlay impossible... [ par stown ]
désolé de reposter mais sa me soule! et la serieux sa m'énérve je compren pas pk sa marche pas!voila en gros ce que j'ai:sur la 1e
Var de php vers flas et action..... [ par jacknikolson ]
salut à tous.je cherche à faire communiquer flash et php.C'est mon tout premier essai et je ne comprends pas tout....j'ai un txt dynamique s
Problème de menu [ par Aleanar ]
BonjourJe voudrais créer un menu en mettant dans deux tableau les nom d'occurence des boutons et les les liens de chaque boutons.Sauf que ça ne marche
Probleme AS pour graphique dynamique [ par spider987 ]
Bonjour tout le monde,Alors voici mon problème :J'ai créé une petit annim flash avec trois calque + 1 Pour les ASCelle-ci charge des va
Problème de chargement array [ par adramele ]
Bonjour à tous !Je suis face à un soucis... je débute. Ce code va chercher une variable faite d'une séquence avec virgule dans un fichier php pour ens
Reconstitution d'un code AS OO [ par Maximee ]
Bonjour à tous!Je cherche à obtenir un fichier .FLA valide à partir d'un .SWF (pour mon usage perso).J'ai donc décompilé le .SWF mais la structure de
jeu de cartes [ par FannyC ]
petite erreur de script... Il me dit: "**Avertissement** Séquence = distribuer, calque = jeu, image = 54 :Ligne 1 : L'identifiant non sensible à la ha
Pb de connection BDD Flash/Php [ par CyAn ]
Bonjour,J'ai besoin de vos lumières, j'essaye de récuperer des données qui se trouvent dans ma base pour ensuite les afficher dans un clip. Pour l'ins
XML Loader Class ou Non ? [ par Orange73 ]
Hello,En faisant des recherche je suis tombé sur une Class pour loader plusieurs XML dans la meme anim flash : http://www.pixel2life.com/forums/index.
ActionScripte, Aide pour simplifier mon code svplé. [ par reacen ]
salut, je suis sur que c'est trop demander cette fois, et que personne ne va repondre.Mais j'essaye commem :)Salut a tous, je suis un peu debutant en
|
Derniers Blogs
TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|