begin process at 2012 02 10 13:21:48
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

MX2004: CLASS

 > 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

Note :
Aucune note
Catégorie :MX2004: CLASS Classé sous :array, utils, class, function, php Niveau :Initié Date de création :16/12/2005 Date de mise à jour :17/12/2005 09:00:24 Vu / téléchargé :8 199 / 477

Auteur : top30

Ecrire un message privé
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note


 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	


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  • DemoArr.zipTélécharger ce fichier [Réservé aux membres club]36 493 octets

Télécharger le zip


 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

Source avec Zip Source avec une capture UN PACKAGE "HISTORIC" POUR GÉRER VOS COMMANDES
Source avec Zip CLASS IMAGE ET IMAGEEVENT
Source avec Zip CONSTANTE D'OBJET INMODIAFIABLE ET DÉBLOQUABLE
Source avec Zip Source avec une capture PERSONNALISATION DE COMPOSANT ET GESTION XML
Source avec Zip Source avec une capture PHP COUNTER EVOLUTION

 Sources de la même categorie

Source avec Zip Source avec une capture LECTEUR MP3 AVEC LISTE DE LECTURE, STREAMING OU NON (COMPOSA... par eron
Source avec Zip ENREGISTRER DANS UN FICHIER TEXTE AVEC L'AIDE D'UN EXE par Mr_Qqn
Source avec Zip Source avec une capture CLASSE CALCULATOR par BananaTree
Source avec Zip Source avec une capture CLASS "PATERN" : PERMET LA CRÉATION DE REMPLISSAGE DE MOTIF ... par top30
Source avec Zip Source avec une capture MA CLASSE DE BASE SUR LES TEXTES ( STRINGS ) par snakeeater1

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture PHP COUNTER EVOLUTION par top30
Source avec Zip Source avec une capture SIMPLE CLASSE POUR RÉCUPÉRER LES RÉSULTATS D'UNE REQUETE SQL par emanueledimauro
Source avec Zip INTERFACE D'ADMINISTRATION POUR CALENDRIER ÉVÉNEMENTIEL - FL... par FleuryK
Source avec Zip METTRE À JOUR UN FICHIER XML (AJOUTER UN ENREGISTREMENT) AVE... par fshwork
Source avec Zip Source avec une capture CLASS AS2 "CLICKMOUSE" : OBJET EVENT DE MOUSE CONTENTANT DES... par top30

Commentaires et avis

Commentaire de SuperDevy le 16/12/2005 22:45:23

Super pratique !

Juste une petite suggestion d'optimisation : évite de mettre array.lenght dans les boucles, les fonctions "unique" et "has" sont bien conçues, mais il faudrait faire la même chose pour "sum" et "product" ...

Commentaire de 120120 le 03/02/2007 12:33:06

Merci beaucoup pour cette superbe classe :)) Elle ma permit de gagner vraiment beaucoup de temps :))

Super bon boulot :)

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

re gotoAndPlay impossible... [ par stown ] d&#233;sol&#233; de reposter mais sa me soule! et la serieux sa m'&#233;n&#233;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 &#224; tous.je cherche &#224; 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&#232;me :J'ai cr&#233;&#233; 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


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,075 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales