NAME ==== Object::Examine - additional object introspection methods SYNOPSIS ======== use Object::Examine; $some_random_object does Introspector; say $some_random_object.menu; DESCRIPTION =========== This module makes an `Introspector` role available which adds some additional object introspection methods, notably a wrapper around the "^methods" method named "menu". Methods ------- * menu -- a long menu of available methods, one per line The `menu` method uses the .^methods(:local) list as a source, but filters and sorts it, and adds a second column showing the Class it comes from. Internal Routines ----------------- * methods_for * clean_methods MOTIVATION ========== There's a useful meta-method named "^methods" which gives you a list of available methods on an object or class, but unfortunately in uses a format which is perhaps LTA for human consumption: my $set = Set.new(); say $set.^methods; # (iterator clone STORE keyof grab SET-SELF Real elems roll Numeric new-from-pairs total pickpairs RAW-HASH of Int Num default grabpairs fmt Capture pick WHICH Method+{is-nodal}.new Method+{is-nodal}.new Method+{is-nodal}.new Method+{is-nodal}.new Method+{is-nodal}.new Method+{is-nodal}.new Method+{is-nodal}.new new Method+{is-nodal}.new Method+{is-nodal}.new minpairs maxpairs Bool Method+{is-nodal}.new Method+{is-nodal}.new ACCEPTS Str gist perl Method+{is-nodal}.new Method+{is-nodal}.new Method+{is-nodal}.new Method+{is-nodal}.new Method+{is-nodal}.new Method+{is-nodal}.new Method+{is-nodal}.new BUILDALL) This list is not sorted, it contains redundant entries, and it includes the rather mysterious "Method+{is-nodal}.new" which the average user probably does not want to hear about. By default, it's not very complete, and you might want to use ".^methods(:all)" or ".^methods(:local)" -- presuming you know about those options. The "menu" method tries to fix these issues, though at the expense of being rather verbose: $set does Introspector; $set.menu # ACCEPTS Set # BIND-POS Any # BUILDALL Set # BUILD_LEAST_DERIVED Mu # Bool Set # CREATE Mu # Capture Set # DUMP Mu # ... # item Mu # iterator Set # keyof Set # lazy-if Any # match Any # maxpairs Set # minpairs Set # new Set # new-from-pairs Set # nl-out Any # ... Note that the second column tells you the Class that defines the method, which may help find appropriate documentation. AUTHOR ====== Joseph Brenner, doomvox@gmail.com COPYRIGHT AND LICENSE ===================== Copyright (C) 2018 by Joseph Brenner Released under "The Artistic License 2.0".