29-12-2012, 08:35 PM
(Modification du message : 29-12-2012, 08:42 PM par Sephi-Chan.)
Cool !
Les méthodes pour "filtrer" (ce n'est pas toujours le cas) acceptent en fait un block (qui peut être délimité par des accolades ou les mots
À vrai dire, PHP est l'un des rares langages à ne pas faire la distinction entre ces deux structures (tableau et table de hachage ou tableau associatif). Ce sont pourtant des structures de données différentes. Pour te donner un exemple basique,
(27-12-2012, 06:50 PM)Holy a écrit : - La manipulation de tableaux par méthode est parfois spéciale au niveau de la syntaxe, il faut utiliser des accolades pour ouvrir un filtre. Exemple :Code :[1, 2, 3, 4].delete_if{|i| i.even?}
Les méthodes pour "filtrer" (ce n'est pas toujours le cas) acceptent en fait un block (qui peut être délimité par des accolades ou les mots
do |i| ... end
. Par ailleurs, il existe une notation courte quand l'intérieur du bloc ne fait qu'un appel de méthode sur l'élément itéré : [ 1, 2, 3, 4 ].delete_if(&:even?)
.(27-12-2012, 06:50 PM)Holy a écrit : - Les hash sont, de ce que j'en ai compris, rien d'autre que les tableaux associatifs en PHP. Vu d'ici je comprends pas trop la pertinence de la distinction syntaxique entre les hash et les tableaux simples. Pourquoi ne pas avoir écrire les hashs comme les tableaux (puisque finalement ce sont des tableaux avec clés et profondeur) ? J'imagine qu'il doit y avoir une explication.
À vrai dire, PHP est l'un des rares langages à ne pas faire la distinction entre ces deux structures (tableau et table de hachage ou tableau associatif). Ce sont pourtant des structures de données différentes. Pour te donner un exemple basique,
push
ou <<
n'auraient aucun sens dans le cas d'un hash.