2010-07-08 5 views
0

Je suis complètement nouveau à Perl. J'essaie de construire un bot IRC de base.Difficulté à construire un bot irc via Bot :: BasicBot

Dans le module Bot::BasicBot, que signifie la ligne my ($self, $message) = @_; dans la fonction "dit"? Je sais que my est pour private, et @_ est le tableau pour recevoir des paramètres dans la fonction, mais comment une référence de hachage est-elle passée ici?

De plus, comment accéder aux paramètres "who", "address", "body"? Merci.

Répondre

5

Eh bien, ce sont des bases de Perl. Vous devriez commencer à l'apprendre avant d'écrire de plus gros programmes. Si vous connaissez la programmation, cela ne devrait pas prendre autant de temps. Bien que je réponde à votre question, je vous exhorte vraiment à le faire.

@_ est en effet pour les arguments. $self est l'objet sur lequel la méthode said() est appelée et $message est le paramètre qui est en effet un hash ref selon la documentation. Vous obtenez les valeurs d'une référence de hachage via $message->{who} etc.

+0

@muskik: merci beaucoup pour ça :) en fait, je ne pouvais pas trouver cela dans le livre, pourriez-vous s'il vous plaît me dire d'où je devrais apprendre les choses de base. Aussi, le soi et le message peuvent-ils avoir un nom? – pranay

+0

@pranay: 2. Oui, vous pouvez. 1. _Programming Perl_ de Larry Wall lui-même est toujours recommandé. J'ai appris avec _Beginning Perl_ qui est librement disponible sur le net (http://www.perl.org/books/beginning-perl/). C'est bon pour les bases mais ne couvre pas beaucoup de sujets avancés (qui peuvent être bons ou mauvais selon le lecteur). Lequel assez de curiosité vous apprenez les trucs avancés aussi. – musiKk

+0

@ n0rd: Merci, car il est également mis à jour dans la question, j'ai édité ma réponse en conséquence. J'espère que cela ne vous dérange pas (parce que maintenant votre commentaire est désynchronisé, + vous avez ajouté). – musiKk