AI-DecisionTree
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/AI/DecisionTree.pm view on Meta::CPAN
return $node->{nodes_below} if exists $node->{nodes_below};
my $count = 0;
$self->_traverse( sub {$count++}, $node );
return $node->{nodes_below} = $count - 1;
}
# This is *not* for external use, I may change it.
sub _traverse {
my ($self, $callback, $node, $parent, $node_name) = @_;
$node ||= $self->{tree};
ref($callback) ? $callback->($self, $node, $parent, $node_name) : $self->$callback($node, $parent, $node_name);
return unless $node->{children};
foreach my $child ( keys %{$node->{children}} ) {
$self->_traverse($callback, $node->{children}{$child}, $node, $child);
}
}
sub get_result {
my ($self, %args) = @_;
croak "Missing 'attributes' or 'callback' parameter" unless $args{attributes} or $args{callback};
view all matches for this distributionview release on metacpan - search on metacpan
( run in 1.496 second using v1.00-cache-2.02-grep-82fe00e-cpan-72ae3ad1e6da )