Sujet : Re: Verifier la presence d'un mot dans tous les champs
De : josephb (at) *nospam* nowhere.invalid (Joseph B)
Groupes : fr.comp.sys.mac.programmationDate : 04. Mar 2023, 15:32:08
Autres entêtes
Organisation : Bof…
Message-ID : <ttvkp8$j5h$1@shakotay.alphanet.ch>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
User-Agent : MacCafe/2.10/peaberry (Mac OS X 10.13.6 (17G14042) - iMac12,1)
M.V., le 4 mars 2023 à 10:11 dans
<
news:ttv1vi$ugge$1@dont-email.me> écrivait :
Le script suivant renvoie la liste des items non valides :
>
Une autre approche intéressante de ton script serait de considérer la classe résultant de la tentative de coercition de la chaine textuelle en valeur numérique.
###############################
set numStrings to {"0", "+1,5", "1e+99", "-19E-7", "1,7e003", ",3", "", "1,2,3", "1E3,4", "--1", "e+99", ",", "+1e"}
set classList to {}
repeat with anItem in numStrings
try
copy (anItem as number) & ((class of (anItem as number)) as string) to the end of classList
on error
copy ((anItem as string) & " ; invalid syntax") as list to the end of classList
end try
end repeat
classList
###############################
le résultat est
{{0, "integer"}, {1.5, "real"}, {1.0E+99, "real"}, {-1.9E-6, "real"}, {1700, "integer"}, {0.3, "real"}, {0, "integer"}, {"1,2,3 ; invalid syntax"}, {"1E3,4 ; invalid syntax"},
{"--1 ; invalid syntax"}, {"e+99 ; invalid syntax"}, {", ; invalid syntax"}, {"+1e ; invalid syntax"}}
Où l'on voit que zéro est précisé comme un entier et non pas un nombre en virgule flottante, et que la chaine vide "" est transformée en zéro.
J'obtiens pourtant les mêmes résultats que toi en exécutant ton script sur mon Mac
Applescript, une boîte de Pandore ;-)
-- J.B.Il est possible que l'extra-flot spatial puisse inverser le spiro-ressortlinéaire, mais seulement si nous pouvons ouvrir le rayon à haute vitesse ettri-fracasser l'efficience phasique !