Said() Strings and the Use of Articles

From SCI Wiki
Jump to: navigation, search

By Gumby

It is wise to take into account articles when creating said strings. Consider all the different ways that a user could might communicate the command give the pig the mirror to the parser.

Code:
    // Matches: 'give pig mirror' & 'give the pig mirror' 
    // Ignores: 'give pig the mirror'
    (if(Said('give/pig<mirror'))
       Print("Output A")
    )
 
    // Matches: 'give pig the mirror' & 'give the pig the mirror'
    // Ignores: 'give pig mirror' & 'give the pig mirror'
    (if(Said('give/pig/mirror')
       Print("Output B")
    )
 
    // Combining the 2 gives you a wider input range
    // Matches all inputs specified above...
    (if(Said('give/pig<mirror') or Said('give/pig/mirror'))
       Print("Output C")
    )

As you can see, the first 2 code blocks behave quite differently when the 'the' article is specified, however the 3rd covers all the test cases.