Page 1 sur 1

Add facile

Publié : ven. 21/mai/2004 22:11
par LavaLava
C'est évident pour beaucoup, mais pourquoi n'existe t'il pas :
Inc a ou a++ => a=a+1
Dec a ou a-- => a=a-1
Add a,b => a=a+b

L'utilité de ces fonctions ne se voit que si on utilise des varibles complexes, ex :

C'est vrai que cela parait inutile toto(machin(4),truc,bidule(1))=toto(machin(4),truc,bidule(1))+1
ou
Inc toto(machin(4),truc,bidule(1)) ?

Publié : ven. 21/mai/2004 22:19
par fweil
En fait ça existe bien sous la forme suivante :

Inc a ou a++ => a=a+1

en PureBasic se dit

a + 1


Dec a ou a-- => a=a-1

a - 1

et

Add a,b => a=a+b

a + b

tel quel.

Publié : ven. 21/mai/2004 22:29
par LavaLava
fweil
trop fort tu es !
Je croyais savoir lire ... mais l'aide recele toujours de secret ....

Publié : ven. 21/mai/2004 22:32
par fweil
J'ai pas de mérite, je fais du PureBasic depuis longtemps maintenant et j'ai même fait une partie de la doc en français !

Mais c'est bien de demander ... il ne faut pas hésiter !

Publié : ven. 21/mai/2004 22:36
par Le Soldat Inconnu
PB supporte l'assembleur et en assembleur, il n'y a pas inc et dec ?
il me semble bien que oui :wink: mais moi et l'assembleur ... ça fait 2
c'est flype qui m'avait dis ça si je me souviens bien

Publié : ven. 21/mai/2004 22:39
par fweil
On dit comme ça ..

Code : Tout sélectionner

  a = 10
  ! DEC dword[v_a]
  Debug a
  ! INC dword[v_a]
  Debug a
End

Publié : ven. 21/mai/2004 23:29
par Backup
fweil a écrit :En fait ça existe bien sous la forme suivante :

Inc a ou a++ => a=a+1

en PureBasic se dit

a + 1


.
c'est vrai que c'est pratique !!
mais pas vraiment clair !!

dans a=a+1
le signe "=" sert d'affectation de la nouvelle valeur obtenue
on sait q'une foit que "a" a ete augmente de 1 (pour l'ex) la nouvelle valeur est affecté a nouveau a "a" .

alors que : a+1, on sait que "a" est augmenté , mais c'est pas evident de savoir qu'il y a la nouvelle valeur d'affecté a "a"

d'ailleur j'ai vu plusieur listing fait comme ça ici
et franchement ça ma posé un blem a la lecture ..

alors oui c'est pratique , mais pas tres ergonomique , je trouve

d'ailleur dans certain basic si tu faisait a+1
"a" etait augmenté de 1 mais "a" gardait la valeur qu'il avait avant l'augmentation
si tu voulait changer "a" tu etait obligé de faire une affectation
"=" en basic !

d'ou le " a=a+1"
qui veut en fait dire : " a=(a+1) "


:)

bref j'aime pas a+1 qui veut dire a=a+1 alors que dans l'absolu c'est pas vrai ! le signe "=" est la pour ça !

le probleme c'est que fred y s'en fout des vielles tradition du basic

:D
si ça se trouve il a jamais programé en basic !!!
sauf avec le sien !! :D

Publié : sam. 22/mai/2004 9:48
par Dr. Dri
...

Publié : sam. 22/mai/2004 10:13
par comtois
Moi ça me va très bien le

A + 1

ça personnalise un langage , faut bien que le pure se distingue des autres non ? Sinon autant programmer en C directement :)

Tiens au fait , est-ce que ça change quelque chose dans les performances si on écrit
A + 1
ou
A = A + 1 ?

Je vais faire un test par curiosité .Je suppose qu'en examinant le code assembleur généré , on doit voir s'il y a une différence.
Bon .. je vais voir ça :)

Publié : sam. 22/mai/2004 10:35
par Chris
Dobro a écrit :d'ailleur dans certain basic si tu faisait a+1
"a" etait augmenté de 1 mais "a" gardait la valeur qu'il avait avant l'augmentation
si tu voulait changer "a" tu etait obligé de faire une affectation
"=" en basic !


Ben oui, mais dans ces Basic, peut-être que les constantes n'étaient pas déclarées de la même façon !! (Je me souviens plus trop des anciens Basic que j'utilisais du temps de l'Atari).

Dans Pure, les constantes sont précédées de #, et je ne me souviens pas d'avoir rencontré ça ailleurs. Dans les autres Basic, elle devaient être déclarées autrement, mais elle étaient déclarées, c'est sûr!

Dans ton exemple, "a" est certainement une constante, et si tu fais #A +1 dans Pure, tu auras le même comportement:
#A gardera sa valeur après l'opération

Moi, je trouve ça bien, qu'on puisse mettre "a+1", mais c'est chacun ses goûts
Dri a écrit :Un = signifie une affectation, deux une comparaison, un opérateur de comparaison et un égal encore une comparaison, et un operateur de non comparaison avec un = signifie l'opération suivie de l'affectation.
Et tu trouves ça clair, toi!!! 8O
Moi, qui n'ai jamais fait de "C", et bien, j'ai rien compris :lol:

Je pense qu'il faut garder la syntaxe du Basic, telle qu'elle est depuis le début. Bien sûr, comme tout langage, elle peut évoluer, mais la base du langage doit rester telle qu'elle a été créée.

A quoi sert de faire un Basic qui aurait la syntaxe du "C" ??
Autant faire directement du "C" !

Chris :)

Publié : sam. 22/mai/2004 15:46
par Dr. Dri
...

Publié : sam. 22/mai/2004 15:50
par fweil
Dr.Dri,

PureBasic ne te fais pas un message d'erreur si tu tapes A = A +1 ?

Par ce que si c'est le cas tu dois ré-installer, sinon c'est tout bon.

:D
Comtois,

A + 1 génère INC [v_a] ... l'est futé le compilateur ....
et

A = A + 1 génère la même chose. L'est vraiment bon hein !

A tous les autres,

Mio j'aime bien comme c'est et si qq'un m'y touche GRRRRR

:lol:

Publié : sam. 22/mai/2004 16:21
par comtois
fweil a écrit : A + 1 génère INC [v_a] ... l'est futé le compilateur ....
et
A = A + 1 génère la même chose. L'est vraiment bon hein ! :lol:

Oh que oui , et c'est pour ça qu'on l'aime :)

Publié : sam. 22/mai/2004 17:41
par Flype
ah oui alors, pas touche au a+1 :twisted:
je l'utilise tout le temps :wink:

Publié : sam. 22/mai/2004 17:52
par Backup
fweil a écrit :Dr.Dri,

PureBasic ne te fais pas un message d'erreur si tu tapes A = A +1 ?

Par ce que si c'est le cas tu dois ré-installer, sinon c'est tout bon.

:D
moi j'ai pas compris la !! on est daccord ça fait pas d'erreur hein ? :)
Comtois,

A + 1 génère INC [v_a] ... l'est futé le compilateur ....
et

A = A + 1 génère la même chose. L'est vraiment bon hein !


a vrais dire je crois que tous ici savions que les 2 ecriture etaient possible !! :) mais merci pour l'info assembleur !
A tous les autres,

Mio j'aime bien comme c'est et si qq'un m'y touche GRRRRR

:lol:


ben oui !! personne n'a dit qu'il fallait changer ça !!
moi je me suis contenté de faire une comparaison avec les traditions !!
:D