Tag: interpreter

为什么MRI是主流的Ruby解释器,而它表现最差?

看过这个解释器比较图后 ,我想知道MRI主流使用背后的原因,尽管它表现最差。 为什么不更频繁地使用Kiji或Ruby Enterprise Edition ; 缺乏gem支持或其他什么? 例如,Ruby Enterprise Edition是由一些最受欢迎的公司选择的,这归功于它的写时复制function ; 我想知道是否有其他解释器实现它。 REE可以轻松地与现有的Ruby解释器并行安装,允许您以最小的麻烦或风险切换到REE。 REE已经出现多年,已经被许多知名网站和组织使用,例如纽约时报 , Twitter , Shopify和37signals 。 “我们切换到企业级ruby以获得[copy-on-write]内存特性的全部好处,我们绝对可以确认其他人报告的内存节省30%。 即使按今天的硬件价格,也可以节省数千美元。“

Ruby和Python如何实现他们的交互式控制台?

在为我的编程语言实现解释器时,我首先想到了一个简单的控制台窗口,它允许用户输入一些代码,然后作为shell独立程序执行。 但是存在严重的问题:如果用户输入的每一行代码都作为独立程序处理,它必须通过标记器和解析器,然后由解释器执行 – 那么函数呢? Python / Ruby交互式控制台(IDLE,irb)如何“共享”代码? 如何处理代码? 例: >> def x: >> print(“Blah”) >> >> x() 函数存储在哪里,以便可以在任何时候再次调用它? 交互式控制台如何将所有输入的内容视为一个程序,而不是一遍又一遍地执行所有操作?