从我们这个小游戏的词汇扫描器中,我们应该可以得到类似下面的列表(你的看起来可能格式会不太一样):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
ruby-1.9.2-p180 :003 > print Lexicon.scan<span class="o">(</span><span class="s2">"go north"</span><span class="o">)</span> <span class="o">[</span><span class="c">#<struct Lexicon::Pair token=:verb, word="go">,</span> <span class="c">#<struct Lexicon::Pair token=:direction, word="north">] => nil </span> ruby-1.9.2-p180 :004 > print Lexicon.scan<span class="o">(</span><span class="s2">"kill the princess"</span><span class="o">)</span> <span class="o">[</span><span class="c">#<struct Lexicon::Pair token=:verb, word="kill">,</span> <span class="c">#<struct Lexicon::Pair token=:stop, word="the">,</span> <span class="c">#<struct Lexicon::Pair token=:noun, word="princess">] => nil</span> ruby-1.9.2-p180 :005 > print Lexicon.scan<span class="o">(</span><span class="s2">"eat the bear"</span><span class="o">)</span> <span class="o">[</span><span class="c">#<struct Lexicon::Pair token=:verb, word="eat">,</span> <span class="c">#<struct Lexicon::Pair token=:stop, word="the">,</span> <span class="c">#<struct Lexicon::Pair token=:noun, word="bear">] => nil </span> ruby-1.9.2-p180 :006 > print Lexicon.scan<span class="o">(</span><span class="s2">"open the door and smack the bear in the nose"</span><span class="o">)</span> <span class="o">[</span><span class="c">#<struct Lexicon::Pair token=:error, word="open">,</span> <span class="c">#<struct Lexicon::Pair token=:stop, word="the">, </span> <span class="c">#<struct Lexicon::Pair token=:noun, word="door">, </span> <span class="c">#<struct Lexicon::Pair token=:error, word="and">, </span> <span class="c">#<struct Lexicon::Pair token=:error, word="smack">, </span> <span class="c">#<struct Lexicon::Pair token=:stop, word="the">, </span> <span class="c">#<struct Lexicon::Pair token=:noun, word="bear">, </span> <span class="c">#<struct Lexicon::Pair token=:stop, word="in">, </span> <span class="c">#<struct Lexicon::Pair token=:stop, word="the">, </span> <span class="c">#<struct Lexicon::Pair token=:error, word="nose">] => nil </span> ruby-1.9.2-p180 :007 > |
