36酷文小说

手机浏览器扫描二维码访问

第三十二章 长夜漫漫(第1页)

而这么长的时间里面,叶新晨也是在解决上面这个BUG的尝试中,才发觉TCL这种语言先天不足。

因为一旦程序逻辑复杂,它那变量无需声明、变量无类型等等对初学者来说不可多得的“优点”就成了致命缺陷。

这会让人不得不付出比CC++之类“正规语言”多得多的努力去跟踪去区分数据类型。

而且为了避免错误,叶新晨也不得不把数据类型也“打包”进数据,然后在程序入口写代码分辨它——尤其是,这些数据类型还是动态的,是从输入数据识别出来的;不结合输入谁都不知道某个数据在某个时刻会是什么。

这使得代码几乎无法静态分析;而测试用例很难覆盖每一条执行路线——不要忘了,这个程序“吃”进去的数据是多变的,几乎不可能列出所有情况。

这使得叶新晨又产生了一个想法。那就是,要给它增加一些功能,把专业语言的coredump、变量先声明后使用等等功能搞出来,使得出现类似高危行为时可以得到提醒甚至直接对相关不良行为报错。

当然,叶新晨是没有这么自觉的,只是叶新晨跟他们说了,他们立刻就私发了一个六万的悬赏让叶新晨帮忙!

原本叶新晨是不愿意的,因为那七天已经够累的了,晚上都熬到凌晨三四点,每天就睡三四个小时,这让叶新晨深刻的明白为什么程序员容易头秃了。

虽然叶新晨不愿意,但是奈何对面又把这个六万的悬赏又加了四万……

嗯,叶新晨觉得这个功能也不是那么难,熬夜那就熬夜呗……

所以叶新晨也是立刻就进入状态了,TCL号称一切都是字符串,这甚至可以把系统库函数运算符关键字都给rename掉,然后自己写一个替代品。

这给了它的用户极大的自由度。

比如iTCL就是用命名空间模拟的面向对象语法——这种语言仍然是面向过程的;但你可以自己定义一个class关键字(实质上是一个过程),把它变得和一个真正的面向对象语言几乎一模一样。

叶新晨首先盯上的是它的过程函数声明关键字proc。

在这种语言里,你声明一个函数fun,格式就是

procfun(arg){

#body

}

它看似一个关键字;但TCL里一切都是字符串,因此这个proc实质上是个函数,它接受函数名、参数列表、函数体三个参数……

叶新晨也是把系统的proc改名叫_sys_proc,自己写了个proc;这样当用户声明一个函数过程时,他的声明将以字符串格式先传给他。

这样子的话叶新晨就可以做一些修改,把一些逻辑插进用户编写的代码中,然后再把修改后的代码传给_sys_proc。


热门小说推荐
超级果园

超级果园

小山之上大雪纷飞,山谷中却有个热带果园!荔枝,芒果,火龙果,莲雾,杨桃,百香果,榴莲,山竹,菠萝蜜,还有释迦,鳄梨,神秘果耕田种树遛狗架鹰,这就是水果大王沈阳光的田园生活!...

以罪为名

以罪为名

城市繁荣浮华的背后,究竟隐藏了多少罪恶?恐怖离奇的命案中,又揭露出了多少人性的阴暗。以罪为名,带你亲临凶杀现场。通过法医学侦查学犯罪心理学行为侧写等等专业手段,直观最匪夷所思的恐怖凶杀案。...

都市之医道修仙

都市之医道修仙

宋元在飞升渡劫时,被最信任的人陷害,就此陨落。谁知天意难测,本应魂飞魄散的他,却重生到都市里一个落魄少年之身。为报血仇,宋元再次踏上仙途。自此,奇遇不断,红颜环绕,精彩纷呈,纵横天下。...

房遗爱高阳公主

房遗爱高阳公主

主角叫房遗爱高阳公主的小说叫重生之大唐最强驸马,它的作者是大名府白衣倾心创作的一本穿越重生类型的小说,文中的爱情故事凄美而纯洁,文笔极佳,实力推荐。小说精彩段落试读一觉醒来,竟然变成了大唐原谅帽之王房遗爱身上。...

超级宠兽系统

超级宠兽系统

人倒霉起来,喝凉水也会塞牙缝,那么走起运来呢?那当然是睡着,睡着也会被超级晶体砸中额头,而主角,正是这么一个倒霉了八辈子,却突然走起运来的人。滴检测到宿主与三眼人族血脉契合度超过10以上,确认符合融合要求,系统启动融合程序。融合成功,测量到宿主第一次使用系统,系统将随机赠送宿主宠兽种子一份,并赠送宿主100个积分,你现在的个人信息如下。宿主罗承兽奴金钢人族,天习人族。野赋技天生蛮力,韧皮术,硬甲术,速捷术。宿主技神元强化,神元扩潜,野赋附体,野赋转嫁。宠兽背包纲多罗刺蚤种子1大力神公蚁种子5赤水凶蟒种子1已有两部百万字完本作品星兵大地魔骑,请放心收藏!...

我在古代养熊猫

我在古代养熊猫

带着坐骑穿越,谁还能比她牛逼。因为死时功德,女主穿越古代,种田养家,玩起宠物毫不逊色。偶尔脱线卖萌,日常扮猪吃虎。作为一个现在人,就是要有在任何地方都能发家致富的头脑!...

每日热搜小说推荐