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 ;)