Said (Kernel)


Checks to see if the specified string matches the last line parsed.

Parameters:saidString (saidString) – The string to match.
Returns:TRUE if there was a match, otherwise FALSE.

The following operators can be used in a said string:

“OR”, Used to specify alternatives to words, such as “take,get”.
Sentence part separator. Only two of these tokens may be used, since sentences are split into a maximum of three parts.
Used together with ‘)’ for grouping.
See ‘(‘.
Used together with ‘]’ for optional grouping. “[a]” means “either a or nothing”.
See ‘[‘.
Semantic reference operator (as in ‘get<up’)
Instructs Said() not to claim the event passed to the previous Parse() call on a match. Used for successive matching.

If a match is made, the words are “used up” until a fresh parse event happens. For example:

(if (Said 'look')

(if (Said 'look') ; This will return FALSE, even if the previous line returned TRUE.
        ; We can never get here.

Other examples:

(Said 'look/car')         ; Matches "look car", "look in car"
(Said 'look<in/car')      ; Matches "look in car" only
(Said 'give/food/dog')    ; Matches "give food to dog" and "give dog food"