有了候選項以后樟氢,當然就可以選字了:
上面的例子中,我們有一個變量srf_all_input侠鳄,它的值是"cwyg"埠啃,我們再用cwyg當做變量名去匹配碼表,得到值“難 騅 騅”伟恶,這是一個字符串(3個漢字中間兩個空格)碴开。
再加一行代碼(見第51行),保存博秫,reload:
第51行潦牛,用stringsplit命令,用空格當隔符挡育,把“難 騅 騅”分解成一個數組巴碗,同時這個數組包含4個變量:
srf_for_select_array0=3? ? ? ?;這個數組中子字符串的數量
srf_for_select_array1=難
srf_for_select_array2=騅
srf_for_select_array3=騅
也就是說當srf_for_select_array0這個變量大于等于0的時候,我們才有得選擇即寒。有值橡淆,并且值不為0,說明它的邏輯值是true母赵,那么就可以用這個變量來新建一個模式(第20到24行):
在第20到24行逸爵,我們新設定了一個模式srf_for_select_array0,在這個模式下設置了3個選擇候選項的按鍵:“空格 逗號 句號”凹嘲。在這個例子中师倔,按“空格鍵”會輸出“難”,按“逗號”鍵會輸出“騅”施绎,按“句號鍵”會輸出“騅”溯革。
在候選項狀態(tài),分別按空格鍵谷醉、逗號鍵、句號鍵
好吧冈闭,雖然快成功了俱尼,但這效果明顯不是我們想要的。正常來說萎攒,當我們選了一個候選項以后遇八,這次的打字就算結束了,要開始新的“敲鍵碼耍休、選擇候選項”刃永。所以,我們做一了個函數srf_select(list_num)(見第61到68行)羊精,每次選擇完后都清空部分狀態(tài)斯够。同時之前設置的3個選擇鍵改為調用這個函數(見20到24行):
改完以后的效果如下: