Deutsch English Français Italiano |
<ug1cll$i2a$1@rasp.pasdenom.info> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!npeer.as286.net!npeer-ng0.as286.net!feeder1-1.proxad.net!proxad.net!feeder1-2.proxad.net!usenet-fr.net!pasdenom.info!.POSTED.2a01:e0a:472:70f0:3506:3471:354f:c6ea!not-for-mail From: DrPi <314@drpi.fr> Newsgroups: fr.comp.lang.ada Subject: =?UTF-8?Q?Re=3A_Question_structure_de_donn=C3=A9es?= Date: Mon, 9 Oct 2023 19:18:44 +0200 Organization: <https://pasdenom.info/news.html> Message-ID: <ug1cll$i2a$1@rasp.pasdenom.info> References: <ufcalc$i3v$1@rasp.pasdenom.info> <ufr2f8$28d89$1@dont-email.me> <ufshr8$p80$1@rasp.pasdenom.info> <uftqo8$30fpk$1@dont-email.me> <ufunr1$q7m$2@rasp.pasdenom.info> <ug0aud$3negc$2@dont-email.me> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Mon, 9 Oct 2023 17:18:45 -0000 (UTC) Injection-Info: rasp.pasdenom.info; posting-account="314@usenet"; posting-host="2a01:e0a:472:70f0:3506:3471:354f:c6ea"; logging-data="18506"; mail-complaints-to="abuse@pasdenom.info" User-Agent: Mozilla Thunderbird Cancel-Lock: sha256:rZqqFZQYx4be0VxM3vtlxLLNFMO09MhQJdFhFE6crXc= In-Reply-To: <ug0aud$3negc$2@dont-email.me> Content-Language: fr Bytes: 3225 Lines: 51 >> Ah, tiens, je croyais qu'on ne peux pas mettre des String non bornées >> dans un record. > > "techniquement", c'est en fait un pointeur car... Oublié de préciser que > dans ce contexte, les premières lignes de v22.ads sont : > > > with UXStrings; use UXStrings; > subtype String is UXString; > > (UXString étant fondé sur de l'Unbounded_String à 4 octets) > > C'est sale mais tellement bon. Oh le vilain :p J'ai cru que je devais revoir toutes mes bases... Ouf ! > On peut bien sûr continuer d'accéder à l'ex type prédéfini String par > Standard.String. Oui, j'ai retenu que les types de bases sont accessibles avec le package "Standard". > > En passant, UXString v3 est un bonheur qui m'a permis de porter sans > aucun effort un framework complet vers l'UTF-8. L'API est standard, on a > l'opérateur de concaténation &¹ et on a plus besoin d'initialiser les > strings littérales avec l'opérateur +. L'usage est donc transparent et > ça rend la manip de strings UTF-8 aussi naturelle en Ada qu'en Python > (désolé pour la comparaison). > > C'est aussi idéal quand on s'interface avec des DB en UTF-8 et, bien > sûr, c'était le propos initial, quand on dev pour le Web. C'est stable, > véloce, compatible Zanyblue (internationalisation). La conso mémoire > résultante est insignifiante en pratique. Merci Pascal :). > https://github.com/Blady-Com/UXStrings > > ¹ On est loin de certains packages de Strings UTF-8 à l'API non > conventionnelle et sans l'opérateur de concaténation &. Il faut que je retienne ça. J'ai déjà posé la question de la gestion de l'UTF-8 sur c.l.ada mais je n'ai pas eu une réponse unanime loin de là. Chacun y va de sa méthode. Je suis resté dans l'expectative. > Pour ma part, UXStrings devrait être dans le RM et Pascal décoré de la > plus haute distinction Ada : la médaille "In strong typing we trust" ;) Y a plus qu'à demander à l'ISO ;)