Chez oim, forum libre

Débattre => Informatique, programmation, geek attitude... => Discussion démarrée par: Songbird le jeudi 19 mai 2016, 07:40

Titre: Comment créer une Map spécifique ?
Posté par: Songbird le jeudi 19 mai 2016, 07:40

Dart nous propose de le laisser choisir le type de classe qui encapsulera nos données sous forme de clé/valeur.
Seulement, par souci d'optimisation, on privilégiera l'utilisation d'une classe en particulier pour alléger l'allocation mémoire.

Off-Topic:
Correction:
Le type par défaut des Maps (en Dart) est LinkedHashMap. Inutile de préciser la classe lors de la création d'une map, si vous souhaitiez utiliser cette classe à la base.

Pour la création d'une map sans précisions particulière, c'est assez simple:

Code
void main()
{
    var myMap = {
        "username":"Songbird",
        "age":"69 years old"
    };

   print(myMap);
}

Résultat:
Citation
{username: Songbird, age: 69 years old}

Pour allouer seulement la mémoire dont nous avons besoin, il est néanmoins préférable d'utiliser la classe LinkedHashMap - la map n'étant agrandi que si un nouveau nœud est créé.

Voici comment vous pouvez procéder:

Code
import 'dart:collection';

void main()
{
  LinkedHashMap test = {
    "username":"Songbird",
    "age":"69 years old"
  };
  
  print(test);
}


Ou en précisant le type de données:

Code
import 'dart:collection';

void main()
{
  LinkedHashMap test = <String,String>{
    "username":"Songbird",
    "age":"69 years old"
  };
  
  print(test);
}
Titre: Dart - How to create a specific Map ?
Posté par: alex le jeudi 19 mai 2016, 10:30
C'est ce qui donne en JS ceci ?

Code

<script type="text/javascript"><!-- // --><![CDATA[
		var ouistiti = "ouistitilette";
		var big_body = "grenouillette";
		// ]]></script>



J'vas être obligé d'installer Dart Simpson, on a jamais le JS final. :iq:
Titre: Dart - How to create a specific Map ?
Posté par: Songbird le jeudi 19 mai 2016, 18:24
Nop, en JS ça donne ça:

Code
<script>
    var myMap = {
        username:"Songbird"
    };
    window.alert(myMap.username);
</script>

En gros les objets en Javascript sont de simples HashMap ^^ (si on ne parle pas des instances de prototypes évidemment)
Titre: Dart - How to create a specific Map ?
Posté par: alex le vendredi 20 mai 2016, 12:36
Ah d'accord !
Titre: Dart - How to create a specific Map ?
Posté par: Songbird le samedi 21 mai 2016, 01:00
Citation
J'vas être obligé d'installer Dart Simpson, on a jamais le JS final. :iq:
Oups, j'avais pas vu ta deuxième remarque.

Alors pour ce qui est du résultat en JavaScript, même si je te le montrais, il serait totalement imbuvable.
Le JavaScript généré par le compilateur de Dart n'est pas fait pour être intelligible par un humain: pour la simple et bonne raison que c'est bien plus lisible dans les fichiers sources en dart pur.

(Bon, même si le javascript est illisible, il y a des outils pour permettre un débogage plus efficace. Et toutes les erreurs un peu limite sont détectées par le compilateur avant de te fournir le fichier final ;) )
Titre: Dart - How to create a specific Map ?
Posté par: Songbird le samedi 21 mai 2016, 01:01
Citation
J'vas être obligé d'installer Dart Simpson, on a jamais le JS final. :iq:
Oups, j'avais pas vu ta deuxième remarque.

Alors pour ce qui est du résultat en JavaScript, même si je te le montrais, il serait totalement imbuvable.
Le JavaScript généré par le compilateur de Dart n'est pas fait pour être intelligible par un humain: pour la simple et bonne raison que c'est bien plus lisible dans les fichiers sources en dart pur.

(Bon, même si le javascript est illisible, il y a des outils pour permettre un débogage plus efficace. Et toutes les erreurs un peu limite sont détectées par le compilateur avant de te fournir le fichier final ;) )
Titre: Dart - How to create a specific Map ?
Posté par: alex le samedi 21 mai 2016, 11:49
Et moi qui connait pas Dart, me voilà bien. :gk:
Titre: Dart - How to create a specific Map ?
Posté par: Songbird le samedi 21 mai 2016, 15:13
Citation
Et moi qui connait pas Dart, me voilà bien. :gk:

Ça ressemble beaucoup à du Java.
Après pour ceux qui sont plutôt attirés par le procédural, y'a moyen d'écrire uniquement en procédural.
Et pour ceux qui aiment les chimères (comme moi  ^-^ ) y'a moyen de mélanger les deux. :p POO et procédural
Titre: Dart - How to create a specific Map ?
Posté par: alex le samedi 21 mai 2016, 20:57
Je ne connais pas plus Java. ^-^
Titre: Comment créer une Map spécifique ?
Posté par: Songbird le lundi 30 mai 2016, 00:26
Off-Topic:
Mise à jour:
Titre du post traduit en français.