SYSTÈME DE TRI DE DONNÉE AVEC @WINDOW AFIN D'ÉTABLIR UN CLASSEMENT.
RCA ArKanis
Messages postés1287Date d'inscriptionmercredi 21 avril 2004StatutMembreDernière intervention21 février 2009
-
17 août 2007 à 15:20
Anatolei
Messages postés27Date d'inscriptionsamedi 24 décembre 2005StatutMembreDernière intervention31 janvier 2009
-
22 août 2007 à 11:29
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Anatolei
Messages postés27Date d'inscriptionsamedi 24 décembre 2005StatutMembreDernière intervention31 janvier 2009 22 août 2007 à 11:29
Pour le commentaire de Renfield, bravo tu sais te servir d'un clavier.
Ensuite, $point(name,N-M) fonctionne pour les hash/ini , je modifirais l'intro et les explications. En ce qui concerne le paramètre inv j'ai pas bien pigé l'utilité, mais je peux tout de même ajouter ça si ça peut être utile. Par contre je passe pour le triage de var, je propose déjà hash|ini ^^
Par contre j'avoue le fait de décrémenter j'allais le faire mais je suis parti faire autre chose et ça m'est sorti de la tête, je vais ajouter ça :)
Concernant le post d'ISoKa, bonne idée, j'vais ajouter ça aussi :)
Merci de vos commentaires en tout cas
cs_ISoKa
Messages postés435Date d'inscriptionjeudi 27 avril 2006StatutMembreDernière intervention17 octobre 2008 21 août 2007 à 15:38
Bonjour,
Une option qui pourrai servir à certains ca serai de pouvoir avoir un truc genre $point(nom,N-M).score renvoyant toute les personnes ayant un score compri entre N et M
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 20101 21 août 2007 à 12:40
Je prefère déja largement l'alias sous cette forme !
Pense a édité l'intro de ta source tu parles encore de $tri.
Bon donc c'est beaucoup mieux comme ça mais tu devrais bien précisé certains truc :
$point(name,N-M)
propriété : .ini .hash
N-M marche pour les .ini ?
Tu devrais maintenant géré les cas ou ce que l'on veux trié se fait dans l'autre sens, car la ton code ne fait que trié sous cette forme :
table item data
data est la valeur selon laquelle le tri est effectué
mais il est possible que pour certaine raison, ce sois l'item qui contienne ce par rapport a quoi on veut trié, donc tu pourrais rajouté un parametre inv, qui permettrais cela (par defaut, sans parametre inv donc, le tri serait normal)
Cette dernière remarque s'applique aussi pour les fichiers .ini
Tu pourrais aussi trié des variables (là aussi il y a deux cas)
Soit la variable se présente sous cette forme :
%var item1-data1 item2-data2
et dans ce cas on apellerait l'alias comme cela : $point(var,N-M,32,45).var
ou 32 représente le char ascii qui sépare les formes item/data entre eux, et 45 qui sépare reelement item/data (j'sais pas si tu vas comprendre) avec la possibilité bien sur d'inversé (data-item) avec le ,inv en dernier parametre.
ou alors il y a plusieur variables sous cette forme là :
%var.item1 data1
%var.item2 data2
etc..
ou là encore les deux methode avec le ,inv sont possible.
Pour ce qui est de l'appel de l'alias en command pour incrémenté une valeur, on ne peut pas décrémenté :) ?
Voila, sinon bien joué, c'est utile ;)
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 21 août 2007 à 09:26
[F5]
Anatolei
Messages postés27Date d'inscriptionsamedi 24 décembre 2005StatutMembreDernière intervention31 janvier 2009 21 août 2007 à 09:02
Il y a un pb, les dernières modifs de mon code n'apparaissent pas tout le temps :/
cs_ISoKa
Messages postés435Date d'inscriptionjeudi 27 avril 2006StatutMembreDernière intervention17 octobre 2008 18 août 2007 à 07:14
VerifieR
/me sort
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 20101 18 août 2007 à 04:37
Oué en ce moment je post beaucoup donc je pense pas tjs a vérifié l'orthographe dsl :]
RCA ArKanis
Messages postés1287Date d'inscriptionmercredi 21 avril 2004StatutMembreDernière intervention21 février 2009 18 août 2007 à 02:10
* ex-eco :
Sachant que ex "en dehors de" et eco "écologie, économie, économe, ..."
ex-eco : un code qui sort de l'ordinaire en n'utilisant que peu d'électricité et donc qui contribue à la santé de la terre.
Orthographe (très largement) suggérée : ex aequo
* ex aequo :
deux personnes qui ont fait le même score
Bref, moi aussi je suis d'accord avec ce cher Wims :)
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 20101 18 août 2007 à 01:52
ah ah dsl pour ce repost , j'avais mis précédent et j'suis partis; en revenant j'ai cru ne pas avoir envoyé le truc donc j'ai renvoyé.
Personnelement j'aimerais bien voir l'alias comme je l'ai dis plus haut, il serais pratique et utile, géré les ex-eco serait une bonne chose aussi
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 20101 18 août 2007 à 01:47
Bon j'avais écris un bon commentaire mais pour une raison vraiment conne, j'ai perdu le texte donc j'vais faire cours :
Déja je comprend pas pourquoi tu attendais "surtout" mon commentaires, j'suis pas la pour critiquer ouvertement :/ et je sais pas si la façon dont tu dis ça est gentille ou pas.
J'avais déja pensé a faire ça et j'avais déja réfléchi a la manière la meilleur pour faire ça (filter, @win, $sorttok..) avec Zerg (un modo de sdb j'sais pas si tu connais.) et bref le fait est que j'aurais plus vu l'alias trié directement la table (ça résoud le probleme qui fait que tu peux pas demandé un grand intervalle) selon sois les item/data ( ou / exprime "par rapport a) sois data/item ou alors par rappor a un item spécific uniquement ou la data contiendrait uniquement tout les pseudo avec leur score sous la forme pseudo-valeur (pas forcement pseudo dailleur) ou valeur-pseudo le tout séparé par un char (le char qui colle le pseudo et la valeur est aussi parametrable).
Ce n'est que mon avis !
Niveau code, c'est plutot bon tu peux supprimé les $calc lorsque tu set/Var une variable et que tu n'effectue qu'un seul calcul.
Tu devrais caché la fenetre aussi ça serait mieux
(je partage (l'avis) le commentaire d'ArKanis generalement, c'est encore la cas ici :p)
Voila donc en gros c'est une bonne idée, j'aime bien, reste que ça manque d'option et que c'est limité ;)
Anatolei
Messages postés27Date d'inscriptionsamedi 24 décembre 2005StatutMembreDernière intervention31 janvier 2009 18 août 2007 à 00:21
C'était plutot dit de manière gentille le "j'attends le commentaire de Wims" ^^
Je prends note de tes remarques, l'idée de cacher la fenêtre ne m'était pas venue, je vais faire en sorte que ça soit fait :-)
Concernant la manière de faire, j'avoue ne mettre pas vraiment penché sur le filter. La @win me paraît tout de même convainquante, j'ai fait un test sur 150 scores/pseudos et le tri s'était fait en 0,125s ce qui me paraît tout à fait acceptable :x
En tout cas pour les options, il me paraît évident que je ne vais pas laisser le code tel quel et faire en sorte de "pondre" un code complet sans trop tarder. Je vais déjà commencer par modifier avec vos remarques :)
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 20101 17 août 2007 à 23:52
Bon j'avais écris un bon commentaire mais pour une raison vraiment conne, j'ai perdu le texte donc j'vais faire cours :
Déja je comprend pas pourquoi tu attendais "surtout" mon commentaires, j'suis pas la pour critiquer ouvertement :/ et je sais pas si la façon dont tu dis ça est gentille ou pas.
J'avais déja pensé a faire ça et j'avais déja réfléchi a la manière la meilleur pour faire ça (filter, @win, $sorttok..) avec Zerg (un modo de sdb j'sais pas si tu connais.) et bref le fait est que j'aurais plus vu l'alias trié directement la table (ça résoud le probleme qui fait que tu peux pas demandé un grand intervalle) selon sois les item/data ( ou / exprime "par rapport a) sois data/item ou alors par rappor a un item spécific uniquement ou la data contiendrait uniquement tout les pseudo avec leur score sous la forme pseudo-valeur (pas forcement pseudo dailleur) ou valeur-pseudo le tout séparé par un char (le char qui colle le pseudo et la valeur est aussi parametrable).
Ce n'est que mon avis !
Niveau code, c'est plutot bon tu peux supprimé les $calc lorsque tu set/Var une variable et que tu n'effectue qu'un seul calcul.
Tu devrais caché la fenetre aussi ça serait mieux
(je partage (l'avis) le commentaire d'ArKanis generalement, c'est encore la cas ici :p)
Voila donc en gros c'est une bonne idée, j'aime bien, reste que ça manque d'option et que c'est limité ;)
Anatolei
Messages postés27Date d'inscriptionsamedi 24 décembre 2005StatutMembreDernière intervention31 janvier 2009 17 août 2007 à 20:38
Tout d'abord merci pour ces précisions.
J'ai fait les remplacements pour les halt, ainsi que pour le $base que j'avoue ne pas avoir utilisé avant ajourd'hui (et c'est en effet bien plus propre que ce que j'avais fait).
Par contre je ne poste pas les modifs de suite, car je compte modifier ce code afin de le rendre bien plus complet, car dans l'état actuel il ne sert pas à grand monde, il faut l'avouer.
Donc à venir niveau modifs:
- Possibilité d'utilisation en commande.
- Possibilité d'ajouter des points à un nick.
- Possibilité d'enlever des points à un nick, ou supprimer son score.
- Possibilité d'écraser les scores.
- Offrir le choix d'écrire les scores dans une talbe ou un ini.
- D'autres choses qui me viendront sûrement :-]
Anatolei.
RCA ArKanis
Messages postés1287Date d'inscriptionmercredi 21 avril 2004StatutMembreDernière intervention21 février 2009 17 août 2007 à 15:20
Tu devrais préciser qu'il s'agit d'un code à mettre dans la partie aliases et non remote.
Si j'ai bien compris, la table doit être construite comme ceci :
/hadd -m TABLE nick score
Tu devrais le préciser, ça pourrait profiter aux débutants ^^
$+($str(0,$calc(5 - $len(%donnees))),%donnees,$chr(32),%item)
devient :
$base(%donnees,10,10,5) %item
les /halt que tu utilises sont-ils vraiment nécessaires ? Il n'aurait pas plutôt fallu mettre plus simplement des /return ?
sinon c'est relativement bien codé et c'est commenté donc bon boulot ^^
tu pourrais utiliser le mode de fonctionnement en $isid et en commande, ça pourrait être pratique pour ajouter un score par exemple. En tout cas pour le moment, si on tape /tri table pseudo, rien ne se passe.
22 août 2007 à 11:29
Ensuite, $point(name,N-M) fonctionne pour les hash/ini , je modifirais l'intro et les explications. En ce qui concerne le paramètre inv j'ai pas bien pigé l'utilité, mais je peux tout de même ajouter ça si ça peut être utile. Par contre je passe pour le triage de var, je propose déjà hash|ini ^^
Par contre j'avoue le fait de décrémenter j'allais le faire mais je suis parti faire autre chose et ça m'est sorti de la tête, je vais ajouter ça :)
Concernant le post d'ISoKa, bonne idée, j'vais ajouter ça aussi :)
Merci de vos commentaires en tout cas
21 août 2007 à 15:38
Une option qui pourrai servir à certains ca serai de pouvoir avoir un truc genre $point(nom,N-M).score renvoyant toute les personnes ayant un score compri entre N et M
21 août 2007 à 12:40
Pense a édité l'intro de ta source tu parles encore de $tri.
Bon donc c'est beaucoup mieux comme ça mais tu devrais bien précisé certains truc :
$point(name,N-M)
propriété : .ini .hash
N-M marche pour les .ini ?
Tu devrais maintenant géré les cas ou ce que l'on veux trié se fait dans l'autre sens, car la ton code ne fait que trié sous cette forme :
table item data
data est la valeur selon laquelle le tri est effectué
mais il est possible que pour certaine raison, ce sois l'item qui contienne ce par rapport a quoi on veut trié, donc tu pourrais rajouté un parametre inv, qui permettrais cela (par defaut, sans parametre inv donc, le tri serait normal)
Cette dernière remarque s'applique aussi pour les fichiers .ini
Tu pourrais aussi trié des variables (là aussi il y a deux cas)
Soit la variable se présente sous cette forme :
%var item1-data1 item2-data2
et dans ce cas on apellerait l'alias comme cela : $point(var,N-M,32,45).var
ou 32 représente le char ascii qui sépare les formes item/data entre eux, et 45 qui sépare reelement item/data (j'sais pas si tu vas comprendre) avec la possibilité bien sur d'inversé (data-item) avec le ,inv en dernier parametre.
ou alors il y a plusieur variables sous cette forme là :
%var.item1 data1
%var.item2 data2
etc..
ou là encore les deux methode avec le ,inv sont possible.
Pour ce qui est de l'appel de l'alias en command pour incrémenté une valeur, on ne peut pas décrémenté :) ?
Voila, sinon bien joué, c'est utile ;)
21 août 2007 à 09:26
21 août 2007 à 09:02
18 août 2007 à 07:14
/me sort
18 août 2007 à 04:37
18 août 2007 à 02:10
* Personnelement :
Orthographe suggérée : Personnellement
* ex-eco :
Sachant que ex "en dehors de" et eco "écologie, économie, économe, ..."
ex-eco : un code qui sort de l'ordinaire en n'utilisant que peu d'électricité et donc qui contribue à la santé de la terre.
Orthographe (très largement) suggérée : ex aequo
* ex aequo :
deux personnes qui ont fait le même score
Bref, moi aussi je suis d'accord avec ce cher Wims :)
18 août 2007 à 01:52
Personnelement j'aimerais bien voir l'alias comme je l'ai dis plus haut, il serais pratique et utile, géré les ex-eco serait une bonne chose aussi
18 août 2007 à 01:47
Déja je comprend pas pourquoi tu attendais "surtout" mon commentaires, j'suis pas la pour critiquer ouvertement :/ et je sais pas si la façon dont tu dis ça est gentille ou pas.
J'avais déja pensé a faire ça et j'avais déja réfléchi a la manière la meilleur pour faire ça (filter, @win, $sorttok..) avec Zerg (un modo de sdb j'sais pas si tu connais.) et bref le fait est que j'aurais plus vu l'alias trié directement la table (ça résoud le probleme qui fait que tu peux pas demandé un grand intervalle) selon sois les item/data ( ou / exprime "par rapport a) sois data/item ou alors par rappor a un item spécific uniquement ou la data contiendrait uniquement tout les pseudo avec leur score sous la forme pseudo-valeur (pas forcement pseudo dailleur) ou valeur-pseudo le tout séparé par un char (le char qui colle le pseudo et la valeur est aussi parametrable).
Ce n'est que mon avis !
Niveau code, c'est plutot bon tu peux supprimé les $calc lorsque tu set/Var une variable et que tu n'effectue qu'un seul calcul.
Tu devrais caché la fenetre aussi ça serait mieux
(je partage (l'avis) le commentaire d'ArKanis generalement, c'est encore la cas ici :p)
Voila donc en gros c'est une bonne idée, j'aime bien, reste que ça manque d'option et que c'est limité ;)
18 août 2007 à 00:21
Je prends note de tes remarques, l'idée de cacher la fenêtre ne m'était pas venue, je vais faire en sorte que ça soit fait :-)
Concernant la manière de faire, j'avoue ne mettre pas vraiment penché sur le filter. La @win me paraît tout de même convainquante, j'ai fait un test sur 150 scores/pseudos et le tri s'était fait en 0,125s ce qui me paraît tout à fait acceptable :x
En tout cas pour les options, il me paraît évident que je ne vais pas laisser le code tel quel et faire en sorte de "pondre" un code complet sans trop tarder. Je vais déjà commencer par modifier avec vos remarques :)
17 août 2007 à 23:52
Déja je comprend pas pourquoi tu attendais "surtout" mon commentaires, j'suis pas la pour critiquer ouvertement :/ et je sais pas si la façon dont tu dis ça est gentille ou pas.
J'avais déja pensé a faire ça et j'avais déja réfléchi a la manière la meilleur pour faire ça (filter, @win, $sorttok..) avec Zerg (un modo de sdb j'sais pas si tu connais.) et bref le fait est que j'aurais plus vu l'alias trié directement la table (ça résoud le probleme qui fait que tu peux pas demandé un grand intervalle) selon sois les item/data ( ou / exprime "par rapport a) sois data/item ou alors par rappor a un item spécific uniquement ou la data contiendrait uniquement tout les pseudo avec leur score sous la forme pseudo-valeur (pas forcement pseudo dailleur) ou valeur-pseudo le tout séparé par un char (le char qui colle le pseudo et la valeur est aussi parametrable).
Ce n'est que mon avis !
Niveau code, c'est plutot bon tu peux supprimé les $calc lorsque tu set/Var une variable et que tu n'effectue qu'un seul calcul.
Tu devrais caché la fenetre aussi ça serait mieux
(je partage (l'avis) le commentaire d'ArKanis generalement, c'est encore la cas ici :p)
Voila donc en gros c'est une bonne idée, j'aime bien, reste que ça manque d'option et que c'est limité ;)
17 août 2007 à 20:38
J'ai fait les remplacements pour les halt, ainsi que pour le $base que j'avoue ne pas avoir utilisé avant ajourd'hui (et c'est en effet bien plus propre que ce que j'avais fait).
Par contre je ne poste pas les modifs de suite, car je compte modifier ce code afin de le rendre bien plus complet, car dans l'état actuel il ne sert pas à grand monde, il faut l'avouer.
Donc à venir niveau modifs:
- Possibilité d'utilisation en commande.
- Possibilité d'ajouter des points à un nick.
- Possibilité d'enlever des points à un nick, ou supprimer son score.
- Possibilité d'écraser les scores.
- Offrir le choix d'écrire les scores dans une talbe ou un ini.
- D'autres choses qui me viendront sûrement :-]
Anatolei.
17 août 2007 à 15:20
Si j'ai bien compris, la table doit être construite comme ceci :
/hadd -m TABLE nick score
Tu devrais le préciser, ça pourrait profiter aux débutants ^^
$+($str(0,$calc(5 - $len(%donnees))),%donnees,$chr(32),%item)
devient :
$base(%donnees,10,10,5) %item
les /halt que tu utilises sont-ils vraiment nécessaires ? Il n'aurait pas plutôt fallu mettre plus simplement des /return ?
sinon c'est relativement bien codé et c'est commenté donc bon boulot ^^
tu pourrais utiliser le mode de fonctionnement en $isid et en commande, ça pourrait être pratique pour ajouter un score par exemple. En tout cas pour le moment, si on tape /tri table pseudo, rien ne se passe.