手机浏览器扫描二维码访问
而这么长的时间里面,叶新晨也是在解决上面这个BUG的尝试中,才发觉TCL这种语言先天不足。
因为一旦程序逻辑复杂,它那变量无需声明、变量无类型等等对初学者来说不可多得的“优点”
就成了致命缺陷。
这会让人不得不付出比CC++之类“正规语言”
多得多的努力去跟踪去区分数据类型。
而且为了避免错误,叶新晨也不得不把数据类型也“打包”
进数据,然后在程序入口写代码分辨它——尤其是,这些数据类型还是动态的,是从输入数据识别出来的;不结合输入谁都不知道某个数据在某个时刻会是什么。
这使得代码几乎无法静态分析;而测试用例很难覆盖每一条执行路线——不要忘了,这个程序“吃”
进去的数据是多变的,几乎不可能列出所有情况。
这使得叶新晨又产生了一个想法。
那就是,要给它增加一些功能,把专业语言的coredump、变量先声明后使用等等功能搞出来,使得出现类似高危行为时可以得到提醒甚至直接对相关不良行为报错。
当然,叶新晨是没有这么自觉的,只是叶新晨跟他们说了,他们立刻就私发了一个六万的悬赏让叶新晨帮忙!
原本叶新晨是不愿意的,因为那七天已经够累的了,晚上都熬到凌晨三四点,每天就睡三四个小时,这让叶新晨深刻的明白为什么程序员容易头秃了。
虽然叶新晨不愿意,但是奈何对面又把这个六万的悬赏又加了四万……
嗯,叶新晨觉得这个功能也不是那么难,熬夜那就熬夜呗……
所以叶新晨也是立刻就进入状态了,TCL号称一切都是字符串,这甚至可以把系统库函数运算符关键字都给rename掉,然后自己写一个替代品。
这给了它的用户极大的自由度。
比如iTCL就是用命名空间模拟的面向对象语法——这种语言仍然是面向过程的;但你可以自己定义一个class关键字(实质上是一个过程),把它变得和一个真正的面向对象语言几乎一模一样。
叶新晨首先盯上的是它的过程函数声明关键字proc。
在这种语言里,你声明一个函数fun,格式就是
procfun(arg){
#body
}
它看似一个关键字;但TCL里一切都是字符串,因此这个proc实质上是个函数,它接受函数名、参数列表、函数体三个参数……
叶新晨也是把系统的proc改名叫_sys_proc,自己写了个proc;这样当用户声明一个函数过程时,他的声明将以字符串格式先传给他。
这样子的话叶新晨就可以做一些修改,把一些逻辑插进用户编写的代码中,然后再把修改后的代码传给_sys_proc。
通过这种方式,叶新晨就接管了TCL的一切;然后修改了它的异常返回流程,识别出“用户未捕捉的异常”
青年相声演员因意外穿越到了封建时代,开讲评书唱小曲,包装明星搞娱乐,美人娇笑杨柳岸,狼烟风举大江东。什么?跟哥斗诗词比智商拼银子抢女人?哈,天下英雄...
一个籍籍无名的路人,一次次极限的操作,一场场完美mvp他是英雄联盟第一大腿!长期独霸国服韩服第一!他吊打各路王者血虐职业选手,最终带领队伍夺下世界冠军,成为荣耀万丈的英雄联盟第一人!这一切都是因为一个神奇系统的出现!...
末日降临,苍生为狗,欲要求活,就得成魔!双胞胎妻的隐秘,玄天之剑的降临,一切的激情,悬疑,快乐,刺激尽在此书!...
价值3亿的妻子是小偷?行,你偷我的宝,我偷你的人!某痞男一次次将她打包扛起带回了家。某日,女人哭着正爬墙,被一群记者围堵,秋小姐,听修爷说,你们是日久生情?女人哭的更凶了,他特么的哪是生情?是生娃!记者唏嘘。修爷,最近夫人的手头有点拮据。去,藏几个宝让她偷!修爷,夫人和她男闺蜜又去喝酒了。把他送去泰国,变成女闺蜜再回来。修爷,夫人又在打小少爷了,说是你欺负了她,她要欺负你儿子!某男人思考了下,亲自去了女人的卧室,把pp撅了起来,夫人,求鞭笞,求蹂躏,求爱的踹踹!1v1双净婵子V群700582919粉丝值1000可加...
他是流氓,信奉一言不合,推倒就干。他是运动天才,学校跆拳道哭着要他加入,武术队跪着要他加入因为女神,他选择了篮球!他只有一个目标称霸全国。他,就是天才洛奇。...
从第一高手到第一菜货,人生的大起大落,连老天爷都对他翻白眼。强烈的守护之心,让他成为忧天之杞人。 为了华夏至宝不落外族之手,已然力量单薄的他没有犹豫,不断接受着来自世界各地的所有麻烦。血与的战斗当中,身心日益强大帅呆哥到猛男帅呆哥的转变快生,直至一切掌握之间。(文已完结,精彩内容看到就是赚到。若有指教,请加847248231)...