作者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