[R] Arrays et fonction

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
servabat
Niveau 4
Niveau 4
Messages : 69
Enregistré le : sam. 02 avr. 2011 16:26
Status : Hors ligne

[R] Arrays et fonction

#1

Message par servabat »

Bonjour,

j'ai un petit problême avec une fonction à laquelle je doit faire passer deux arrays : $m et $l .

J'ai donc essayé:

Code : Tout sélectionner

Func encstring($m, $l)
     $nbblocs = UBound[$m]
     ;suite de la Fonction
EndFunc
et

Code : Tout sélectionner

Func encstring(ByRef $m, ByRef $l)
     $nbblocs = UBound[$m]
     ;suite de la fonction
EndFunc
Mais avec ces deux formulation, j'obtient l'erreur :

Code : Tout sélectionner

ERROR: syntax error
    $nbblocs = UBound[
    ~~~~~~~~~~~~~^
Que faire?
Merci d'avance
Modifié en dernier par servabat le sam. 30 juil. 2011 22:19, modifié 1 fois.
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Arrays et fonction

#2

Message par TommyDDR »

Je dirais qu'un petit F1 sur le mot Ubound vous donnerai la réponse.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
servabat
Niveau 4
Niveau 4
Messages : 69
Enregistré le : sam. 02 avr. 2011 16:26
Status : Hors ligne

Re: [..] Arrays et fonction

#3

Message par servabat »

Et bien malheuresement il se trouve que non, j'ai pourtant bien fouillé l'aide...
Avatar du membre
PandiPanda
Membre émérite
Membre émérite
Messages : 656
Enregistré le : mar. 19 juil. 2011 14:03
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Arrays et fonction

#4

Message par PandiPanda »

Ubound()

ceci;

Code : Tout sélectionner

Func encstring($m, $l)
     $nbblocs = UBound[color=#FF0000][[/color]$m[color=#FF0000]][/color]
     ;suite de la Fonction
EndFunc
en ceci;

Code : Tout sélectionner

Func encstring($m, $l)
     $nbblocs = UBound[color=#40BF40]([/color]$m[color=#40BF40])[/color]
     ;suite de la Fonction
EndFunc
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
servabat
Niveau 4
Niveau 4
Messages : 69
Enregistré le : sam. 02 avr. 2011 16:26
Status : Hors ligne

Re: [..] Arrays et fonction

#5

Message par servabat »

Hum autant pour moi, erreur idiote. ByRef est il utile cependant ?

Merci PandiPanda et TommyDDR.
Avatar du membre
PandiPanda
Membre émérite
Membre émérite
Messages : 656
Enregistré le : mar. 19 juil. 2011 14:03
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Arrays et fonction

#6

Message par PandiPanda »

Pour simplement recuperer la taille de votre tableau non, pas utile

un peu de lecture :p

Variables - using Global, Local and ByRef
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
servabat
Niveau 4
Niveau 4
Messages : 69
Enregistré le : sam. 02 avr. 2011 16:26
Status : Hors ligne

Re: [..] Arrays et fonction

#7

Message par servabat »

Ce n'est pas seulement pour récuperer la taille de mon tableau, je fait des traitements de données qui sont dans cet array (avec des BitShift() BitRotate() etc...)
Merci, je vais lire ça :)
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Arrays et fonction

#8

Message par Iste »

ByRef est utile pour soit :
-Travailler directement sur le tableau (exemple _ArrayAdd())
-Eviter la duplication d'un gros tableau. En effet, les valeurs passées sans ByRef sont copiées avant d'etre envoyées a la fonction. Pour des gros tableaux cela peut donc etre assez lourd.

Donc voila, si vous etes dans un de ces deux cas (ce qui me semble) byRef vous sera utile.
Signez ici
servabat
Niveau 4
Niveau 4
Messages : 69
Enregistré le : sam. 02 avr. 2011 16:26
Status : Hors ligne

Re: [..] Arrays et fonction

#9

Message par servabat »

D'accord, merci beaucoup Iste pour l'explication très claire. A vrai dire, je ne compte pas modifier le tableau, mais c'est en effet un gros tableau. Je testerais avec les deux et je regarderais le plus rapide / pratique.

Merci beaucoup à tous.
Répondre