blueworrybear / DataBaseProject1

1 stars 0 forks source link

幾個問題 #4

Closed kevinLoe closed 12 years ago

kevinLoe commented 12 years ago

昨天我把你寫的code全部看過一遍,也看了些regex的教學,有幾個問題 1.我們讀指令的方式是助教給一條,我們執行一條,還是指令全部給完,我們在處理? 2.每個指令只會在一行內還是說可能會兩行甚至更多,因為這樣readline好像會有問題。 3.我知道”[\]“代表“\”,那”\s\s+“是指兩個以上的空白鍵? 4.whiteSpace和backSlash裡的filter method我不太懂它的功用,為何要用"\"做切割?還有replaceall的意思? 5.為什麼要用regular expression,這到底有什麼好處,不能readline之後,以空白切割,再看第一個是不是create或是insert,直接字串比對就好,因為你用regex的方法,最後還是用switch case的方式來判斷第一個字串,感覺變麻煩? 大概是這樣,感謝回答

kevinLoe commented 12 years ago

問題1和2我知道了 whiteSpace是要把超過1個空白都縮減為1個空白,那在backSlash為什麼要把註解\拿掉,還有data.in為何會有注解? 補充

blueworrybear commented 12 years ago

我新增了今天完成的CODE。

關於Q3,若要表示兩個空白鍵,應用"\s{2}"

關於Q4,filter的功用是把多餘的字元消掉。

比方說在SQL指令中多打幾個空白是合法的,但會造成讀檔困難,

所以就先行消去。

關於Q5,新增的SqlCreateTableFetcher有judgeCorrect()方法。

用REG就是為了寫judge的規則。

若是僅要切割指令的話,確實不用REG也可以。