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.