Bug très étrange... Comprends pas ! [JS] - HTML/CSS - Programmation
Marsh Posté le 16-08-2005 à 22:44:00
t'ain c'est terrible ce truc
Code :
|
Marsh Posté le 16-08-2005 à 22:50:02
Arjuna a écrit : J'ai ce même comportement à la fois sous IE et Mizolla. C'est normal ? JS ne gère pas de tableaux à deux dimensions ??? |
Bien sûr que non
Citation : Obligé de faire des tableaux de tableau ??? (arrBocal[i][j] ?) |
Oui, comme dans la quasi totalité des langages vu le nombre de langages gérant les matrices en type natif
Arjuna a écrit : t'ain c'est terrible ce truc |
Ca te choque pas de penser qu'un langage gère les matrices multidimentionnelles en natif mais un sort customisable t'impressionne?
Marsh Posté le 16-08-2005 à 22:52:13
Ben voir qu'un langage est pas foutu de gérer des tableaux multi-dimensionnels, mais propose la surcharge des méthodes de base de ses types système, oui, je trouve ça étrange.
L'inverse me semble plus logique...
Marsh Posté le 16-08-2005 à 22:56:45
Arjuna a écrit : Ben voir qu'un langage est pas foutu de gérer des tableaux multi-dimensionnels |
Comme je le disais plus haut, le nombre de langages généraliste ayant des matrices en type natif doit se compter sur les doigts d'une main, et encore
Citation : mais propose la surcharge des méthodes de base de ses types système, oui, je trouve ça étrange. |
C'est inhérent à la structure par prototypage de l'OO du JS
Marsh Posté le 17-08-2005 à 00:07:53
Bah VB il supporte les tableaux à n dimensions, et pourtant il est tout pourri
Même Basic il savait faire
Sinon, je me demande... Il me semble bien que le C sait faire aussi.
M'enfin bon, c'est pas grave, j'ai pu finir le super truc qui sert à rien
http://magicweb.manga-torii.com/simland.htm
Marsh Posté le 17-08-2005 à 00:14:20
Reste plus qu'à faire une V2 avec une gestion de l'espace améliorée et un fonctionnement prédateur/gibier plus évolué
Marsh Posté le 17-08-2005 à 00:40:54
Arjuna a écrit : Sinon, je me demande... Il me semble bien que le C sait faire aussi. |
Je crois pas non...
Par contre tu peux faire a[b][c], ou b[c][a], ou probablement c[a+b], et ptet même (c+a)[b]
Marsh Posté le 17-08-2005 à 01:58:13
je parle bien du C et pas du C++ hein. il me semble me souvenir qu'à l'IUT on avant fait des tableaux tout bête avec.
en tout cas, en ADA, on peut. évidement. normal, c'est le seul, l'unique, le meilleur
Marsh Posté le 17-08-2005 à 01:59:47
masklinn a écrit : Comme je le disais plus haut, le nombre de langages généraliste ayant des matrices en type natif doit se compter sur les doigts d'une main, et encore |
Ben et lisp et scheme avec make-array alors, hein?
A+,
Marsh Posté le 17-08-2005 à 07:43:15
gilou a écrit : Ben et lisp et scheme avec make-array alors, hein? |
on a pas encore atteint les doigts d'une main
Marsh Posté le 17-08-2005 à 10:15:09
En C#, J#, VB.NET, COBOL.NET, VB, Basic, Lisp (donc), ADA
Doit y en avoir d'autres, mais je connais pas beaucoup de langages... (pis mon voisin non plus d'ailleurs )
Ca fait pas les doigts de deux mains, mais d'au moins une
Marsh Posté le 17-08-2005 à 10:17:40
Mouais, je vais m'avouer vaincu alors
Mais ça ne change rien au fait que c'est pas dispo en JS
Marsh Posté le 17-08-2005 à 18:01:55
C'est plutôt simple de manipuler des tableaux simples comme des tableaux mutltidimensionnels. Par exemple un tableau [10][10] est comme un tableau [100]. la case [n][m] est simplement la case [10*n+m] dans le tableau simple. C'est pas complexe à implémenter.
Marsh Posté le 17-08-2005 à 18:09:59
Ouais, mais c'est juste que d'un point de vue "logique", [x, y] c'est mieu que [x][y].
Et d'un point de vue cohérence des données aussi : avec un tableau à n dimension, chaque dimension est totalement fixe. Alors qu'avec un tableau simple contenant des tableaux qui contiennent des tableaux qui... ben je peux avoir :
arr[0].length => 10
arr[1].length => 1
Et ça moi j'aime pas... Un tableau à N dimensions, c'est une matrice à N dimensions et sans trous.
M'enfin bon, c'est pas bien grave.
Sinon, en effet, la solution de l'offset est pas bête, ça permet notamment d'émuler cet aspect de dimensions de tailles fixes.
Par contre, avec un tableau à 5 dimensions, tu commences à pleurer sérieusement avec ce système
Marsh Posté le 17-08-2005 à 18:19:44
bibiphuque a écrit : C'est plutôt simple de manipuler des tableaux simples comme des tableaux mutltidimensionnels. Par exemple un tableau [10][10] est comme un tableau [100]. la case [n][m] est simplement la case [10*n+m] dans le tableau simple. C'est pas complexe à implémenter. |
Ca c'est les tableaux du C, théoriquement c'est bien, pratiquement c'est:
1- dangereux
2- extrèmement chiant quand il faut faire des redimensionnement
3- moisi au niveau de l'encapsulation et des séparations entre les éléments (si il n'y a pas de wrappers)
Arjuna a écrit : Ouais, mais c'est juste que d'un point de vue "logique", [x, y] c'est mieu que [x][y]. |
chuis d'accord avec lui
Marsh Posté le 16-08-2005 à 22:22:48
Si j'ai un tableau à deux dimensions initialisé comme suit :
Alors c'est normal que si je vais :
Alors :
J'ai ce même comportement à la fois sous IE et Mizolla. C'est normal ? JS ne gère pas de tableaux à deux dimensions ???
Obligé de faire des tableaux de tableau ??? (arrBocal[i][j] ?)
Ou si j'ai ratté un truc dans ma déclaration