第二天第二天!
這里是學(xué)生黨手搓編程語(yǔ)言——GanyuLanguage的第二天!
因?yàn)檫@個(gè)語(yǔ)言主要是為了方便簡(jiǎn)寫代碼的,所以會(huì)省略很多編程語(yǔ)言的內(nèi)容(也更好做~)
今日實(shí)現(xiàn)內(nèi)容——對(duì)變量的改變

具體改變:
????原來使用的方法是在給函數(shù)傳值的時(shí)候判斷指定值的位置是不是變量,這樣有一個(gè)很大的弊端,那就是變量無(wú)法與其他混用,并且局限性很大
????所以,經(jīng)過我的冥思苦想,瘋狂改BUG之后,終于,完成了修改!
????我把實(shí)現(xiàn)方式改成類似C++的Define的方式,在定義變量的時(shí)候放入變量字典,再次賦值就是更改變量值,并且在使用的時(shí)候使用@變量名@V的方式進(jìn)行使用,還可以與其他混用哦
????大概實(shí)現(xiàn)方式就是在執(zhí)行每行之前使用固定的函數(shù)進(jìn)行處理,如果返回值為0則continue,不然則更新這行代碼

????vars是通過Function.Default.Variable的Main類實(shí)現(xiàn)的,具體如下:
????初始化輸入模式(目前只實(shí)現(xiàn)了Define模式)和已擁有的變量

doLine函數(shù)處理每一行,對(duì)變量進(jìn)行改變值,未定義則報(bào)錯(cuò),返回更改后的代碼

使用createVar函數(shù)創(chuàng)建變量

最后在Main.py中初始化

還有就是改了一下日志函數(shù)存放的位置,統(tǒng)一放到Function.Default.loging中去了


大概就這些,這段時(shí)間因?yàn)閷W(xué)業(yè)等多種原因耽誤了很久,在此給大家道個(gè)歉,并且更抱歉的是,以后這樣子可能成為常態(tài),反正我盡量更新吧
Bye~