(本期闲聊比较极客,不必掌握,考试不会考的)
大家好,我是盾牌君。上一次的三分攻略发出来之后,出现了这样一条留言。
答案简单到令人困惑:都是,或者说都不是。且听我缓缓道来。
首先我们需要有一个常识,现代的浏览器能运行什么编程语言?你也许会说C,会说Python,但实际上是在极客战记里存在感略低的JavaScript。现在的网站,大多数都是用HTML+CSS+JavaScript作为前端页面的组成部分,极客战记作为一个不需要客户端的网站,也同样如此。
既然浏览器只能运行JavaScript,那么像Python这些语言又是怎么能在极客战记上运行的呢?这里再介绍一下Parser的概念。
因为没有统一的中文翻译,我就直接写英文单词了。但有人把它翻译为“解析器”,我个人觉得这个还算贴切,因为Parser的作用是将代码转换为“抽象语法树”(AST)。而极客战记正是用这个统一的“抽象语法结构”,缩小了语言之间的差异,让不同的语言能同样控制关卡里的英雄。
上面一堆话可以概括为这个图:
所以,问“极客战记里使用的Python版本”,实际上是问”极客战记里使用的Parser会将Python代码看作哪个版本”。而这个问题的答案,下面的解释也许足够:
早期Python2仍然是主流时,Parser已经做好了。但随着Python3逐渐取代了Python2的位置,Parser也逐渐加入了Python3的语法支持。所以现在我们玩着的,是一个经过混合之后的版本。
好的,这一期的闲聊就到此为止。如果想更深入了解,欢迎留言讨论。
领取专属 10元无门槛券
私享最新 技术干货