Deutsch English Français Italiano |
<ttu4gu$o0i$1@shakotay.alphanet.ch> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!weretis.net!feeder8.news.weretis.net!news.imp.ch!news.alphanet.ch!alphanet.ch!.POSTED!not-for-mail From: Joseph B <josephb@nowhere.invalid> Newsgroups: fr.comp.sys.mac.programmation Subject: Re: Verifier la presence d'un mot dans tous les champs Date: Sat, 4 Mar 2023 00:48:31 -0000 (UTC) Organization: =?UTF-8?B?Qm9m4oCm?= Message-ID: <ttu4gu$o0i$1@shakotay.alphanet.ch> References: <t0lcik$1616$1@cabale.usenet-fr.net> <dg1u2h9ms324so97iqqac5jfclhunbt5u0@4ax.com> <t0n2vh$23a2$1@cabale.usenet-fr.net> <t8162d$1rbm$1@gioia.aioe.org> <t81ks1$2ipl$1@cabale.usenet-fr.net> <ttkveo$7no$1@shakotay.alphanet.ch> <ttl07l$u8m$1@cabale.usenet-fr.net> <ttl3bh$svv$1@shakotay.alphanet.ch> <ttm19j$1bll$1@cabale.usenet-fr.net> <ttm1u5$1br0$1@cabale.usenet-fr.net> <ttm4os$inu$1@shakotay.alphanet.ch> <1q6wq7l.wkh7dy1ty8eazN%andre_favre@af.invalid> <ttn9em$h0s$1@shakotay.alphanet.ch> <ttpqam$7tm$1@shakotay.alphanet.ch> <ttt1b6$lk6v$1@dont-email.me> <tttjb9$1ais$1@cabale.usenet-fr.net> <tttjmb$5hk$1@shakotay.alphanet.ch> <tttl0q$1asu$1@cabale.usenet-fr.net> <tttltt$elj$1@shakotay.alphanet.ch> <tttmh9$1caj$1@cabale.usenet-fr.net> <tttn40$1ci2$1@cabale.usenet-fr.net> <tttqk8$40b$1@shakotay.alphanet.ch> <tttu8a$1dv4$2@cabale.usenet-fr.net> <tttum3$1e38$1@cabale.usenet-fr.net> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Injection-Date: Sat, 4 Mar 2023 00:48:31 -0000 (UTC) Injection-Info: shakotay.alphanet.ch; posting-account="joseph25b"; logging-data="24594"; mail-complaints-to="usenet@alphanet.ch"; posting-host="49079705135647d36d766b8a46d17cd4.nnrp.alphanet.ch" User-Agent: MacCafe/2.10/peaberry (Mac OS X 10.13.6 (17G14042) - iMac12,1) Cancel-Lock: sha1:O48SWCO/mM4cMNRgdZbQX8r1kXQ= sha256:ceU+CGhRRhnMYOa5q062yuqRn1kvg+zJaC9mMT1xUhE= sha256:w4/Q1MRsWubl24VhYYo+bhhkMYTuHZPpELfb0rPPVWM= X-No-Archive: YES In-Reply-To: <tttum3$1e38$1@cabale.usenet-fr.net> Bytes: 4689 Lines: 59 Olivier Miakinen, le 4 mars 2023 à 00:08 dans <news:tttum3$1e38$1@cabale.usenet-fr.net> écrivait : > J'aurais dû la formuler de la façon suivante : > « Après une recherche rapide sur la toile, j'ai l'impression que c'était > mort dès le départ, si on avait voulu faire en AppleScript ce que je > voulais faire avec une regexp ». Absolument. Applescript est pensé pour manipuler les listes, voire les matrices, mais très limité au niveau de la manipulation des chaines de texte, dont tu as dû te rendre compte que pour ce faire on en vient à traiter des listes d'items. Applescript ne sait pas manipuler les regex, sauf à écrire la règle dans une commande shell qui sera exécutée par l'appel «do shell script "blablabla"» Quant aux manipulations de nombres dans l'exemple que tu donnes, ça pourrait être un peu mieux, Applescript supportant la "coercition" d'une chaine de caractères numériques en réel ou en entier. Malheureusement, là où ça se complique c'est que le langage va regarder dans les préférences de langage du Système quel est le séparateur décimal en vigueur. Si mon Mac est configuré anglais ou allemand, par exemple, la proposition «class of ("+1.5" as number) = real» va répondre true mais sur un Mac réglé francophone va générer l'erreur -1700 “error "Impossible de convertir \"+1.5\" en type number." Pour un script à exécuter sur un Mac "français" la bonne syntaxe serait «class of ("+1,5" as number) = real» ––> true Histoire de ne pas simplifier les choses au décours d'un script, même en Système "français", tous les /nombres réels/ sont présentés avec le point comme séparateur décimal (sauf réglage spécial de l'utilisateur) Je donne l'exemple ubuesque suivant mais bien réel set z to "+1,5" # si je mets "1.5" la ligne suivante génèrera une erreur get (z as number) + 2.3 # si je mets 2,3 j'aurai un refus de compilation result : 3.8 get (("+1,5" as number) + 2.3) as string result "3,8" Pour un francophone écrire un applescript "universel" comportant des valeurs numériques entrées en variable texte, oblige à des contorsions indignes d'un langage de programmation qui se veut portable sur toutes les options de langue possibles de l'OS. Après ça, ne pas s'étonner qu'Applescript, malgré de très bonne choses dont la programmation orientée objet, soit quelque peu méprisé par les habitués des langages historiques, du Pascal au C, ou même Python, etc. -- J.B. Encoder l'anti-écho à court rayon d'action est illogique, puisque le filtre à grand rayon d'action va neutraliser le spouniseur gravifique.