作者ric2k1 (Ric)
看板EE_DSnP
标题[情报] 关於 parseCmd() 以及 getCmd()
时间Thu Nov 11 15:14:11 2010
有同学在问:
==================================================================
我想请问一下关於HW3,cmdParser.cpp中的parseCmd(string& option)和
getCmd(string cmd),要如何将command拆成mandatory part和optional part呢?
_cmdMap中的key(mandatory part)长短不一定,
那我要怎麽将command和key作string的比较?
(我原先构想是将command(ex:DOF)拆成mandatory part(DO)和optional part(F),
mandatory part为key去_cmdMap中找,若有找到,再利用checkOptCmd验证optional
part(F)是否符合规则,不过class中好像没有记录各mandatory part的长度,
所以我不知道该如何切割command的string,关於这部分我应该从何下手呢?)
=================================================================
比较无雷的提示:
1. 注册在 _cmdMap 中的就是 command 的 mandatory part,
你可以直接呼叫 string 的 size() 就知道 mandatory part 的长度。
2. 至於 _optional part,可以在比对 mandatory part 拿到 CmdExe 的物件以後,
再呼叫 checkOptCmd() 即可拿到存在 CmdExe 里头的 _optCmd.
3. 那如果你输入的是 "abcde"那我要用几个字当作 mandatory 到 _cmdMap 里头找呢?
有点小雷的提示:
4.
无从得知! 但你可以试试看 "a", 然後 "ab"...
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 24.6.140.145
1F:推 nnthome:可不可以请教一下_cmdMap和_optCmd存了哪些东西? 11/12 19:02
2F:推 MrOrz:_cmdMap 的 key 只有每个指令的 mandatory part 11/12 22:16
3F:→ MrOrz:各个 CmdExec 物件的 _optCmd 则是该指令的 optional part 11/12 22:17
4F:推 wintercobra:既然_cmdMap存的是mandatory part,就可以看看map中各 11/13 13:21
5F:→ wintercobra:element(也就是mandatory part)的长度,来决定要 11/13 13:22
6F:→ wintercobra:比对多少个字了 11/13 13:22
7F:→ MrOrz:推楼上 我也是这样作 11/14 00:24