11
votes

Voir les méthodes disponibles Ruby

Comment puis-je afficher toutes les méthodes disponibles sur un objet dans Ruby. J'utilise l'IDE APTANA lorsque je tapez le fichier. Aucune méthode n'est affichée. Je viens d'un fond éclipse / java.

merci


0 commentaires

5 Réponses :


2
votes

Vous pouvez appeler fichier.methods dans l'interprète Ruby interactif pour voir toutes les méthodes disponibles. Je ne sais pas s'il y a un moyen dans l'IDE que vous utilisez, car je ne l'ai pas utilisé auparavant.


0 commentaires

23
votes

Il existe plusieurs méthodes: xxx

update

  1. Pour obtenir les méthodes d'objet à part toutes les méthodes héritées que vous pouvez faire:

    obj.methods (faux)

  2. comme tempus mentionné dans les commentaires, la commande suivante est très utile pour obtenir les méthodes d'objet actuelles à partir de l'objet (classe de base) Méthodes héritées:

    obj.methods - objet.methods


3 commentaires

Je trouve obj.methods - objet.methods utile.


Je viens de comprendre met obj.methods pour les énumérer sur des lignes distinctes


élaborer sur le point de Tempus, c'est bien si vous utilisez un objet tiers (d'un joyau ou quelque chose) et que vous faites obj_instance.methods - obj_instance.class.methods pour savoir ce que cette instance répond à



3
votes

Si vous avez un interprète rubis exécutant, .methods affichera les méthodes disponibles sur l'objet. Dans Eclipse lorsque j'ai tapé fichier. rien ne s'est passé jusqu'à ce que je fasse une commande de contenu (CTRL + espace). À ce stade, j'ai reçu une liste de méthodes.


2 commentaires

Merci. Ctrl Space fonctionne pour moi. Malheureusement, il ne semble pas y avoir de documentation associée aux méthodes? Tout ce que je vois, ce sont leurs noms et paramattres à adopter. Est-ce une faiblesse de l'IDE Ruby?


Je reçois une documentation sur les méthodes kernales. Il peut être lié à Ruby Docs présents ou non



4
votes

Vous pouvez passer true aux méthodes si vous souhaitez ignorer les méthodes définies dans les superclasses: xxx

ou, si vous voulez seulement supprimer le plus courant. méthodes définies dans la classe objet , vous souhaitez appendre - objet.methods ou - objet.instance_methods , selon que Obj est une classe ou une instance d'une classe.


0 commentaires

3
votes

Je remarquerais également que obj.methods ne renvoie pas les noms de méthode triés, de sorte que vous souhaitiez faire obj.methods.sort . .


0 commentaires