Rebol permet d'utiliser la création et l'utilisation d'objets.
Attention ce tutorial exige quelques connaissance en programmation objet.
Merci de vous reporter à une documentation traitant ce sujet.
Les objets
Tout au long de ces exemples, nous allons essayer de créer un objet
permettant de manipuler un fichier.
Rebol permet de créer un objet très simplement avec la clause
make object!
fichier: make object!
[
;Création de variables
version: make tuple! 1.1.0
informations: make string! "Objet gestion de fichier"
nomFichier: make file! ""
]
Utilisons maintenant notre objet :
monFichier: make fichier [ ] ; je créé une instance de l'objet Fichier
print type? monFichier ; renvoi le type Object!
print monFichier/version ; renvoi 1.1.0
print monfichier/informations ; renvoi "Objet gestion de fichier"
MonFichier/nomFichier: %/c/tmp/fichiertest.txt ; affectation de la variable nomFichier de l'objet
Remarque : l'utilisation des variables de l'objet (propriétés)
se font par le /
Nous allons maintenant faire des déclarations de méthodes pour
notre objet. Ces méthodes seront déclarées sous forme
de fonctions.
Voici la nouvelle définition de notre objet fichier :
fichier: make object!
[
version: make tuple! 1.1.0
informations: make string! "Objet gestion de fichier"
nomFichier: make file! ""
; **************************************************
; ***** Définition des méthodes
; **************************************************
; Méthode d'affectation du fichier
setNomFichier: make function! [ pfichier]
[
nomFichier: pFichier
]
; Méthode d'affectation du fichier
getNomFichier: make function! [ ]
[
return nomFichier
]
; Méthode existance du fichier
getExistFichier: make function! [ ]
[
return exists? nomfichier
]
; Méthode renvoyant la taille du fichier en octets
getTailleFichier: make function! [ ]
[
return size? nomfichier
]
; Méthode renvoyant la date de modification du fichier en octets
getDateModifFichier: make function! [ ]
[
return modified? nomfichier
]
]
Utilisons maintenant les méthodes de notre objet :
monFichier: make fichier [ ] ; Création d'une instance de l'objet fichier
ret: monFichier/setNomFichier %/c/netlog2.txt ; Affectation du nom par la méthode
print monFichier/getNomFichier ; Récupération du nom par la méthode
print [ "Existance du fichier : " monfichier/getExistFichier ] ; Appel de la méthde existance
print monfichier/getDateModifFichier ; Appel de la méthode renvoyant la date de modification