Nathan Gary Glenn > Soar-WM-0.04 > Soar::WM::Element

Download:
Soar-WM-0.04.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: 0.04   Source  

NAME ^

Soar::WM::Element - Work with Soar working memory elements

VERSION ^

version 0.04

SYNOPSIS ^

 use Soar::WM qw(wm_root);
 my $root = wm_root(<<ENDWM);
 (S1 ^foo bar ^foo buzz ^baz boo ^link S2 ^link S3)
 (S2 ^faz far 
    ^boo baz
    ^fuzz buzz)
 (S3 ^junk foo)
 ENDWM
 print $root->id; # 'S1'
 my $val = $root->first_val('link');
 print $val->id; # 'S2'
 print $val->first_val('faz'); # 'far'

DESCRIPTION ^

This module allows one to traverse working memory by accessing attributes and values of a single element at a time.

NAME ^

Soar::WM::Element - Perl extension for representing Soar working memory elements.

METHODS ^

new

Creates a new instance of Soar::WM::Element. There are two required arguments: 1. An instance of Soar::WM which is to contain this element 2. The WME ID of this element. If the given ID does not exist in the given working memory, this method will croak.

id

Returns the WME ID of the this element ('S1', 'W3', etc.)

atts

Returns an array pointer containing the attributes present in this element.

vals

Takes one required argument, an attribute name, and returns an array pointer containing all of the values of the given attribute for this element. Any values that are names of other working memory elements will be blessed as new Soar::WM::Elements.

children

The same as vals, but returns the value of every attribute as an array pointer. The optional parameter 'links_only => 1' will cause the method to only return children which are links to other Soar::WM::Elements.

first_val

Takes one required argument, an attribute name, and returns the first value of the given attribute for this element. If the values is the names of another working memory element, it will be blessed as a new Soar::WM::Element.

num_links

Returns the number of values in all of this element's attributes which are names of other existing working memory elements.

SEE ALSO ^

The homepage for the Soar cognitive architecture is here: http://sitemaker.umich.edu/soar/home.

AUTHOR ^

Nathan Glenn <garfieldnate@gmail.com>

COPYRIGHT AND LICENSE ^

This software is copyright (c) 2012 by Nathan Glenn.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

syntax highlighting: