Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Dans un script, vaut-il mieux ecrire ceci :
dw_repartition.object.nominal[li_Line]
ou ceci :
dw_repartition.GetitemNumber(li_Line, 'nominal')
Et pourquoi ?
Dernière modification par LeCiao (16-11-2007 15:16:33)
Hors ligne
Le n°2
-> Parce que j'ai l'habitude de faire comme ça
Plus sérieusement, parce que le compilateur peut faire des vérifications de type
Vois aussi : http://pbadonf.fr/forum/viewtopic.php?id=802
Hors ligne
En fait j'ai posé cette question car dans ma boite, beaucoup de gars préfère la notation pointé, alors que j'ai toujours entendu dire que le Getitem est plus rapide et surtout typé !!!
Mais je n'arrive pas à leur avancer d'argument qui les convaint de celà !!
Hors ligne
LeCiao a écrit:
En fait j'ai posé cette question car dans ma boite, beaucoup de gars préfère la notation pointé, alors que j'ai toujours entendu dire que le Getitem est plus rapide et surtout typé !!!
Mais je n'arrive pas à leur avancer d'argument qui les convaint de celà !!
maintenant tu en as un de taille : c'est la notation préférée de shahin.. aucun contre argument possible..
treve de plaisanterie, ici aussi on préfère cette notation..
Hors ligne
La seconde solution me semble meilleure sur bien des points :
- plus rapide ;
- plus sûre (typage plus fort) ;
- plus flexible (le second argument est une chaîne [ou un numéro de colonne], il peut être remplacé par une variable).
Les deux derniers points tendent vers une maintenabilité plus facile, ça devrait interpeller les flemmards que nous sommes tous
Personnellement, je réserve la notation pointée à des opérations de masse (tout le contenu d'une colonne dans un tableau en une instruction, tout le contenu d'une ligne dans une structure en une instruction, etc.).
Hors ligne
Bonjour,
J'ai remarqué aussi que la première solution ne pouvait pas être directement utilisée dans certains cas comme par exemple un retrieve ou un messagebox. Il faut allors passer par une variable...
Hors ligne
Je vais prendre le problème à l'envers.
Pour moi la notation pointée n'est intéressante que dans 2 cas :
- le type de la colonne est inconnu (DW construit dynamiquement à la volée)
- on souhaite manipuler une matrice de donnée. (data[1,5,1,10] = mon_array[])
Petit jeu : faites un setitem sur une ligne inexistance (exemple rowcount() + 1) puis la même chose en notation pointée et observez le comportement de PB
Hors ligne