Costanti e variabili
    Il "Quarto" fuso ] The 4th Time Zone ]   


 

Introduzione
OperazioniInput/Output
TheOperatori matematici
Operatori dello stack
Altri operatori
Colon definition
Strutture di controllo
Strutture condizionali
Costanti e variabili
Altre parole
Uso dell'editor
Messaggi di errore


                                   

[ Indice ][ Indietro ][ Avanti ]

Il Forth consente di definire delle costanti usando le parole

CONSTANT

VARIABLE

Quando viene richiamata una costante, ciò fa sì che il suo valore venga posto in cima allo stack. Invece qunando viene richiamata una variabile, viene posto il suo indirizzo di memoria. Le parole del Forth  !  e  @  vengono usate per modificare il contenuto di una variabile.

Una costante viene definita usando la forma:

valore  CONSTANT nome

e ogni riferimento al nome farà sì che il valore sia messo in cima allo stack.

Una variabile viene definita usando la foram

valore  VARIABLE  nome

e ogni riferimento al nome farà sì che l'indirizzo di questa variabile venga messo in cima allo stack consentendone le successive manipolazioni usando  !  e  @. E' importante capire la differenza tra costante e indirizzo di una variabile. Ecco alcuni esempio:

64 CONSTANT  R  <CR>
1000 CONSTANT Q  <CR>
256 VARIABLE X  <CR>
0 VARIABLE Y  <CR>

R Q + .

 

stampa R + Qi.e. 1064

X .

 

stampa l'indirizzo di X non il suo valore

X @ .

 

stampa il valore di X cioè 256

R Y !

 

memorizza il valore R nella variabile Y

Y X !

 

memorizza l'indirizzo di Y nella variabile X

4 X !

 

memorizza il valore 4 nella variabile X

comando BASIC

Equivalente Forth

LET X = Y

Y @ X !

LET X = R

R X !

LET X = 4

4 X !

LET X = X + 5

5 X +!

[ Indice ][ Indietro ][ Avanti ]


Ultimo aggiornamento: 29-11-2002. Copyright (c) 2000-2002 Matteo Vitturi. 
Per problemi o domande relativamente a questo sito contattare il webmaster
Last update: 11.29.2002. Copyright (c) 2000-2002 Matteo Vitturi.
For problems or questions related to this web please contact the webmaster.
1
Hosted by www.Geocities.ws