JeuWeb - Crée ton jeu par navigateur
[PHP] Fusion d'un tableau par addition - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [PHP] Fusion d'un tableau par addition (/showthread.php?tid=2142)

Pages : 1 2 3 4 5 6


RE: [PHP] Fusion d'un tableau par addition - Ter Rowan - 19-03-2011

Etant en vacances, à plusieurs heures d'avion de mon bouquin php, je vais pas etre très précis mais..

dans mon souvenir, il existe une fonction php qui additionne directement deux tableaux en fonction des clefs, faut juste la chercher, ce sera plus court et plus élégant que de développer plusieurs lignes de code :p


RE: [PHP] Fusion d'un tableau par addition - niahoo - 19-03-2011

ben nan on a cherché justement.

Les arrays peuvent contenir tout et n'importe quoi donc il faut développer une fonction qui va ne gérer que des tableaux d'entiers avec clésa


RE: [PHP] Fusion d'un tableau par addition - srm - 20-03-2011

Pour le chaînage niahoo je ne sais pas, je te donne la réponse demain je ferais des tests, là je vais aller me coucher ;D

Concernant le côté implicit, voici un extrait d'une doc pdf à ce sujet (en anglais) :
There’s a fundamental difference between your own code and libraries of
other people: you can change or extend your own code as you wish, but if
you want to use someone else’s libraries, you usually have to take them as
they are.
A number of constructs have sprung up in programming languages to
alleviate this problem. Ruby has modules, and Smalltalk lets packages add
to each other’s classes. These are very powerful, but also dangerous, in that
you modify the behavior of a class for an entire application, some parts of
which you might not know. C# 3.0 has static extension methods, which are
more local, but also more restrictive in that you can only add methods, not
fields, to a class, and you can’t make a class implement new interfaces.
Scala’s answer is implicit conversions and parameters. These can make
existing libraries much more pleasant to deal with by letting you leave out
tedious, obvious details that obscure the interesting parts of your code. Used
tastefully, this results in code that is focused on the interesting, non-trivial
parts of your program. This chapter shows you how implicits work, and
presents some of the most common ways they are used.

Et une mini doc pour te montrer pourquoi c'est trop classe les implicit conversion :
http://www.codecommit.com/blog/ruby/implicit-conversions-more-powerful-than-dynamic-typing


RE: [PHP] Fusion d'un tableau par addition - srm - 20-03-2011

Ah bah si on peut faire array2 +++= array1 +++= array3
J'avais mal testé Big Grin


RE: [PHP] Fusion d'un tableau par addition - Sephi-Chan - 20-03-2011

C'est clair que le Monkey Patching de Ruby semble déroutant. Heureusement que ce n'est pas un problème de la vraie vie : aucun développeur de librairie n'irait surcharger une méthode existente probablement utilisée dans le programme qui charge ladite librairie.

Toutefois, pour limiter ces problèmes et rendre le Monkey Patching plus local, des gens ont proposé le principe des refinement dans Ruby (ce serait a priori pour une prochaine version de Ruby 1.9 ou pour Ruby 2).

Voici le principe :


module TimeExtensions
refine Fixnum do
def minutes
self * 60
end
end
end

class MyApp
using TimeExtensions

def initialize
p 2.minutes
end
end

Actuellement, ActiveSupport ajoute déjà ces méthodes d'extension de temps, qui permettent d'écrire des choses comme 2.days.ago ou 4.hours.from_now. C'est réalisé grâce au Monkey Patching et ça ne pose aucun problème. Les refinement ne seront donc vraiment utile que sur des cas très particuliers.


Sephi-Chan


RE: [PHP] Fusion d'un tableau par addition - srm - 20-03-2011

Ca va un peu revenir au implicit cast du coup Smile
C'est cool


RE: [PHP] Fusion d'un tableau par addition - Sephi-Chan - 20-03-2011

Exactement. Ce n'est pas contraignant et — bonus — c'est très léger visuellement.


Sephi-Chan


RE: [PHP] Fusion d'un tableau par addition - srm - 20-03-2011

A quand l'écriture "2 minutes" possible ? ^^


RE: [PHP] Fusion d'un tableau par addition - Sephi-Chan - 20-03-2011

Jamais, je pense. Quel serait l'intérêt ?


RE: [PHP] Fusion d'un tableau par addition - srm - 20-03-2011

Bah en autre le fait que ça permet de faire un DSL et d'étendre le langage comme on veut c'est très dans l'esprit "Ruby" à savoir "on lit le code".
2 minutes * 3 hours
C'est mieux que :
2.minutes * 3.hours