| Deutsch English Français Italiano |
|
<tkosf6$1oi8$1@gioia.aioe.org> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!2.eu.feeder.erje.net!feeder.erje.net!feeder1.feed.usenet.farm!feed.usenet.farm!aioe.org!nEzYORZpWGOXyluHSN+PUw.user.46.165.242.75.POSTED!not-for-mail
From: Didier <db@invalid.invalid>
Newsgroups: fr.comp.lang.c
Subject: Re: /etc/exports option unsecure
Date: Sat, 12 Nov 2022 20:33:59 +0100
Organization: Aioe.org NNTP Server
Message-ID: <tkosf6$1oi8$1@gioia.aioe.org>
References: <tk5q6i$2g2ek$1@dont-email.me>
<6369ff7f$0$31523$426a74cc@news.free.fr> <tkj862$j30b$1@dont-email.me>
<tkjco0$r73$1@vmserveur.novazur.fr> <tkjg61$jmrn$1@dont-email.me>
<tklst8$6qa$1@vmserveur.novazur.fr> <tklu00$1r51$1@gioia.aioe.org>
<tkm05o$hmc$1@vmserveur.novazur.fr> <tkm2g0$tfa0$1@dont-email.me>
<tkm3k1$nci$2@shakotay.alphanet.ch> <tkm4vp$tnmp$1@dont-email.me>
<tkm5ne$et$1@shakotay.alphanet.ch> <tknod5$6ne$1@gioia.aioe.org>
<tknp1d$6v3$1@shakotay.alphanet.ch>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: gioia.aioe.org; logging-data="57928"; posting-host="nEzYORZpWGOXyluHSN+PUw.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.4.2
X-Notice: Filtered by postfilter v. 0.9.2
Content-Language: fr
Bytes: 3146
Lines: 50
Le 12/11/2022 à 10:29, Marc SCHAEFER a écrit :
> [ Followup-To: fr.comp.lang.c ]
>
> Didier <db@invalid.invalid> wrote:
>> C'est sans doute pas top, mais au moins c'est différent de la relation
>> de comparaison, au sens mathématique comme au sens commun.
>
> En fait, le plus grand problème de la notation = (affectation) et ==
> (comparaison) apparaît dans les langages très expressifs comme C ou
> Perl.
>
> Par exemple en C
>
> if (f = tcp_connect()) {
> }
>
> Cela appelle tcp_connect, affecte la valeur à la variable f, puis teste
> si c'est différent de zéro. C'est très souvent utilisé et c'est
> légitime.
>
> Mais peut-être que le codeur voulait simplement comparer f au résultat
> de tcp_connect() sans affecter? Au moins, gcc fait un warning (avec
> -Wall), et suggère la forme:
>
> if ((f = tcp_connect())) {
> }
>
> pour lui montrer que l'intention était bien d'affecter à f puis de
> tester le résultat.
>
> Une bonne pratique si l'on veut éviter une affectation par erreur
> (écriture de == remplacée par erreur par =) est la suivante:
>
> # risque si on oublie un =
> if (c == 42) {
> }
>
> # pas de risque, 42 pas affectable, l'oubli d'un = fera
> # une erreur, car la partie gauche n'est pas affectable
> if (42 == c) {
> }
>
> -- Et pour les afficionados du langage Newton [1]
> TAKE PUSH programme;
>
> [1] https://hopl.info/showlanguage.prx?exp=965&language=Newton
Bonsoir, et merci Marc, c'est très pédagogique, comme toujours de ta part.
Pour un amateur comme moi (autodidacte en plus, la tare quoi !), c'est
toujours bon à prendre. D'autant que j'ai laissé tomber Pascal depuis
pas mal de temps, je ne fais plus que du PHP.
Didier.