有了候选项以后,当然就可以选字了:
上面的例子中,我们有一个变量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个选择候选项的按键:“空格 逗号 句号”。在这个例子中,按“空格键”会输出“难”,按“逗号”键会输出“骓”,按“句号键”会输出“騅”。
在候选项状态,分别按空格键、逗号键、句号键好吧,虽然快成功了,但这效果明显不是我们想要的。正常来说,当我们选了一个候选项以后,这次的打字就算结束了,要开始新的“敲键码、选择候选项”。所以,我们做一了个函数srf_select(list_num)(见第61到68行),每次选择完后都清空部分状态。同时之前设置的3个选择键改为调用这个函数(见20到24行):
改完以后的效果如下:
网友评论