木兰编程语言重现匿名函数,lambda表达式初步
之前实现了基本的函数功能,本周支持了如下的 lambda 表达式:边长 -> 边长 * 边长
用->似乎符合数学中"映射"的表示(下摘自 wiki "Lambda calculus"页):
可以在 map、filter 中使用:print(list(map(边长 -> 边长 * 边长, [1, 2, 3]))) => [1, 4, 9]
也可以在块中包含多个语句:print(list(map(边长 -> { 面积 = 边长 * 边长 return 面积 }, [1, 2, 3])))
如果这些语句较短(中文命名的标识符往往更短),也可以用分号分隔后放在一行内:print(list(map(边长 -> { 面积 = 边长 * 边长; return 面积 }, [1, 2, 3])))
暂时只添加了单个形参的 lambda 表达式,还有些用法仍在摸索。
还有一种类似功能的匿名函数写法:print(list(map(func (边长) { 面积 = 边长 * 边长; return 面积 }, [1, 2, 3])))
它已经支持多形参,也可以在调用时直接跟实参:print(func (长, 宽) { 面积 = 长 * 宽; return 面积 }(3, 4)) => 12代码统计
下面是几个主要部分的代码行数统计,格式为:上周->本周。测试木兰测试用例:1075 -> 1090运行测试.py,检验所有木兰测试代码片段:145 -> 148未变test语法树.py,确保生成的语法树与原始版本一致:63实现:1941 -> 2075分析器/语法分析器.py:824 -> 886分析器/语法树.py,功用/调试辅助.py,包括对 ast 库的中文封装:260 -> 271分析器/词法分析器.py:184 -> 187环境.py,加载木兰模块:87 -> 88未变演示高亮.py:98中.py,主程序:35
苹果启动新一轮AppleWatch挑战赛主题是欣赏国家公园美景为庆祝全民健身日,苹果在本月初启动了健身记录挑战。而AppleWatch下一轮活动挑战赛已经敲定于8月28日启动,主题是欣赏世界各地国家公园的美景。AppleWatch用户可以通过
经典名机松下RF877三波段收音机大家好老金聊机上一次我们介绍了第一次以美洲狮命名的机型rf888今天来看这款首次搭载了陀螺仪天线的美洲狮7号被我们熟知的型号为RF877。其实最开始这款机器并不属于美洲狮系列他应该
支付宝现在怎么了?越来越坑支付宝现在真的越来越坑,今天查看银行卡账单,发现有一个优酷会员自动续费,也不知道啥时候开的,上面显示支付方式支付宝,可是去查看支付宝账单时就是没有。扣费时也没有短信提示。不明不白的
红米K30至尊纪念版使用新的红米K30刚出来的时候性价比方面确实吸引了我,当时我就斥巨资2499买了一个8512的版本,8512的后期就没了,也算是纪念版吧!说一下这手机的使用体验吧!处理器是联发科天机100
联想YOGA272021一体机明日开启预售4K标压锐龙生产力UPCNMO新闻7月27日,联想发布了联想YOGA272021一体机。屏幕方面,联想YOGA272021采用了27英寸的4KUHD屏幕,并且屏幕还提供了两种不同的色域选项,分别是99D
唱弹俱佳,精彩演绎得胜OP8便携式弹唱音箱强势来袭户外表演日益发展火热,一台音质出众功能实用的户外娱乐音箱不可或缺。为进一步提升用户体验,轻松炒热现场演唱气氛,得胜弹唱音箱系列再添新品OP8便携式弹唱音箱正式发布。200W大功率音
Win7开机速度慢怎么办?Win7电脑会有很多问题,这是最常见的问题是速度很慢,那么如果我遇到Win7启动速度,我该怎么办?让我们来看看和小编找到一些东西的方式。Win7启动速度慢解1。磁盘是影响启动速度的
为啥u盘传输速度这么慢?你插错孔了各位使用u盘或者移动硬盘,有没有觉得某些情况下u盘速度特别快,有时候换台电脑就慢成龟速?这不一定是u盘的问题,而是你没有插对接口。最常见的usb口标准名称叫使用usb协议的type
提升生产力的新工具,这次我选择了华为Matepad11扬州疫情期间,自居家办公已经1月有余,目前已经实现了零增长,无论如何,这个消息都是值得庆幸的。作为一个数码爱好者,自认为对使用的电子设备还是比较挑剔的,虽然钱袋有限,但是对于自用设
给耳机美化声音的好工具有了它人声更清晰了说到有技术积累的录音机品牌,第一时间能想起的就是Zoom,收音方面的设备性能强,不必多说但为了满足用户,能够多人同时听到收录的声音,最近就推出了增强耳机信号的,迷你放大器,ZHA4
Intel第12代酷睿超频工具更新!支持DDR5Intel第12代酷睿处理器大概率就是在10月份发布了,近期网上爆出各种实测数据。但就在这两天,Intel官方正式发布了支持12代酷睿处理器的超频工具IntelXTU7。5。0。从