Re: Question de généricité

Liste des GroupesRevenir à fcl ada 
Sujet : Re: Question de généricité
De : gautier_niouzes (at) *nospam* hotmail.com (Gautier write-only address)
Groupes : fr.comp.lang.ada
Date : 31. Aug 2023, 23:18:49
Autres entêtes
Message-ID : <a98095df-01d5-45ef-8bd3-ac2968e0a344n@googlegroups.com>
References : 1 2 3 4 5
User-Agent : G2/1.0
Je ne comprends pas "nul : Item_Type" dans les paramètres génériques. A
quoi sert cette ligne ?
Enlève-la et essaie de compiler!
Oui, ça compile pas. Mais ça ne répond pas à ma question ;)

Sans cette ligne, le compilateur ne sait pas du tout ce que peut signifier ce truc qui s'appelle "nul", là où il y a ":= nul;"
Évidemment, dans l'instanciation particulière que tu as en tête, ce "nul" est bien un octet de valeur 0, et même provenant de Interfaces.C, surtout qu'il porte par hasard le même nom.
Mais c'est une coïncidence et ton intuition fait son travail.
Tu pourrais avoir dans le code générique "terminator" au lieu de "nul".
Result (Index_Type (Item'Length + 1)) := terminator;
Dans ce cas, que signifie ou vaut "terminator"? Valeur ? Fonction?...

Tu peux avoir n'importe quel type comme Item_Type.
Un exemple simple:
type U32 is mod 2**32;

type Float_Array is array (U32 range <>) of aliased Float;

function To_Float (c : Character) return Float is (Float (Character'Pos (c)));

function To_TW_Float is new To_TW_STR (Float, 3.1415927, U32, Float_Array, To_Float);

Tu peux avoir qqch d'un peu plus compliqué:
type My_Item is record a, b, c : Float; d: Positive; end record;

Date Sujet#  Auteur
29 Aug 23 * Question de généricité14DrPi
30 Aug 23 `* Re: Question de généricité13Gautier write-only address
30 Aug 23  `* Re: Question de généricité12DrPi
30 Aug 23   `* Re: Question de généricité11Gautier write-only address
31 Aug 23    `* Re: Question de généricité10DrPi
1 Sep 23     `* Re: Question de généricité9Gautier write-only address
1 Sep 23      `* Re: Question de généricité8DrPi
1 Sep 23       +* Re: Question de généricité3Gautier write-only address
2 Sep 23       i`* Re: Question de généricité2DrPi
2 Sep 23       i `- Re: Question de généricité1DrPi
2 Sep 23       `* Re: Question de généricité4J-P. Rosen
2 Sep 23        `* Re: Question de généricité3DrPi
15 Sep 23         `* Re: Question de généricité2Thomas
16 Sep 23          `- Re: Question de généricité1DrPi

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal