Add facile

Vous avez une idée pour améliorer ou modifier PureBasic ? N'hésitez pas à la proposer.
LavaLava
Messages : 173
Inscription : dim. 28/mars/2004 17:42
Localisation : Provence

Add facile

Message 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)) ?
fweil
Messages : 505
Inscription : dim. 16/mai/2004 17:50
Localisation : Bayonne (64)
Contact :

Message 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.
Mon avatar reproduit l'image de 4x1.8m présentée au 'Salon international du meuble de Paris' en janvier 2004, dans l'exposition 'Shades' réunisant 22 créateurs autour de Matt Sindall. L'original est un stratifié en 150 dpi.
LavaLava
Messages : 173
Inscription : dim. 28/mars/2004 17:42
Localisation : Provence

Message par LavaLava »

fweil
trop fort tu es !
Je croyais savoir lire ... mais l'aide recele toujours de secret ....
fweil
Messages : 505
Inscription : dim. 16/mai/2004 17:50
Localisation : Bayonne (64)
Contact :

Message 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 !
Mon avatar reproduit l'image de 4x1.8m présentée au 'Salon international du meuble de Paris' en janvier 2004, dans l'exposition 'Shades' réunisant 22 créateurs autour de Matt Sindall. L'original est un stratifié en 150 dpi.
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message 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
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
fweil
Messages : 505
Inscription : dim. 16/mai/2004 17:50
Localisation : Bayonne (64)
Contact :

Message 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
Mon avatar reproduit l'image de 4x1.8m présentée au 'Salon international du meuble de Paris' en janvier 2004, dans l'exposition 'Shades' réunisant 22 créateurs autour de Matt Sindall. L'original est un stratifié en 150 dpi.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message 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
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

...
Dernière modification par Dr. Dri le lun. 10/oct./2005 9:34, modifié 1 fois.
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message 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 :)
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message 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 :)
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

...
Dernière modification par Dr. Dri le lun. 10/oct./2005 9:35, modifié 1 fois.
fweil
Messages : 505
Inscription : dim. 16/mai/2004 17:50
Localisation : Bayonne (64)
Contact :

Message 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:
Mon avatar reproduit l'image de 4x1.8m présentée au 'Salon international du meuble de Paris' en janvier 2004, dans l'exposition 'Shades' réunisant 22 créateurs autour de Matt Sindall. L'original est un stratifié en 150 dpi.
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message 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 :)
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

ah oui alors, pas touche au a+1 :twisted:
je l'utilise tout le temps :wink:
Image
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message 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
Répondre