PDL
view release on metacpan or search on metacpan
lib/PDL/Doc/Perldl.pm view on Meta::CPAN
print "${prefix}Perl CODE ref\n";
return;
}
if(ref $x eq 'SCALAR' || ref $x eq 'REF') {
whatis_r($prefix." Ref -> ",$indent+8,$$x);
return;
}
if(UNIVERSAL::can($x,'px')) {
my $y;
local $PDL::debug = 1;
$y = ( (UNIVERSAL::isa($x,'PDL') && $x->nelem < 5 && $x->ndims < 2)
?
": $x" :
": *****"
);
$x->px($prefix.(ref $x)." %7T (%D) ".$y);
} else {
print "${prefix}Object: ".ref($x)."\n";
}
}
=head2 help
=for ref
print documentation about a PDL function or module or show a PDL manual
In the case of multiple matches, the first command found is printed out,
and the remaining commands listed, along with the names of their modules.
=for usage
Usage: help 'func'
=for example
pdl> help 'PDL::Tutorials' # show the guide to PDL tutorials
pdl> help 'PDL::Slices' # show the docs in the PDL::Slices module
pdl> help 'slice' # show docs on the 'slice' function
=cut
sub help {
if (@_) {
require PDL::Dbg;
my $topic = shift;
if (PDL::Core::blessed($topic) && $topic->can('px')) {
local $PDL::debug = 1;
$topic->px('This variable is');
} else {
$topic = 'PDL::Doc::Perldl' if $topic =~ /^\s*help\s*$/i;
if ($topic =~ /^\s*vars\s*$/i) {
PDL->px((caller)[0]);
} else {
finddoc($topic);
}
}
} else {
print <<'EOH';
The following commands support online help in the perldl shell:
help 'thing' -- print docs on 'thing' (func, module, manual, autoload-file)
help vars -- print information about all current ndarrays
whatis <expr> -- Describe the type and structure of an expression or ndarray.
apropos 'word' -- search for keywords/function names
usage -- print usage information for a given PDL function
including support for bad values
sig -- print signature of PDL function
('?' is an alias for 'help'; '??' is an alias for 'apropos'.)
Quick start:
apropos 'manual:' -- Find all the manual documents
apropos 'module:' -- Quick summary of all PDL modules
help 'help' -- details about PDL help system
help 'perldl' -- help about this shell
EOH
}
''
}
1; # OK
( run in 2.521 seconds using v1.01-cache-2.11-cpan-cdf2f3d4e48 )