栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

与Ruby相比,Python的局限性:lambda的

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

与Ruby相比,Python的局限性:lambda的

我认为您并不是真正在问lambda,而是 内联函数

这确实是Python严重令人讨厌的限制之一:您不能内联定义一个函数(一个实函数,而不仅仅是一个表达式);您必须给它起个名字。这非常令人沮丧,因为其他所有现代脚本语言都可以做到这一点,而不得不离线移动函数通常会非常痛苦。这也令人沮丧,因为我感到Python字节码可以轻松地表示这一点-
只是语言语法无法做到。

Javascript:

responses = {        "resp1": {     "start": function() { ...  },     "stop": function() { ... },        },        "resp2": {     "start": function() { ...  },     "stop": function() { ... },        },        ...}responses["resp1"]["start"]();

卢阿:

responses = {        resp1 = {     start = function() ...  end;     end = function() ...  end;        };        ...}responses.resp1.start();

红宝石:

responses = {    "resp1" => {        "start" => lambda { },        "stop" => lambda { },    },}responses["resp1"]["start"].call

蟒蛇:

def resp1_start():    passdef resp1_stop():    passresponses = {    "resp1": {        "start": resp1_start,        "stop": resp1_stop,    },}responses["resp1"]["start"]()

请注意,Javascript和Lua没有lambda:它们没有理由存在,因为内联函数以更加自然和通用的方式覆盖了它们。

我可能会将此视为最烦人的Python日常限制。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/611697.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号