pys60 中 lambda 的使用

    lambda 用来创建新的函数对象,并且在运行时返回它们

    我最初写 appuifw.app.menu 的时候,调用一个带参数的函数,类似下面这样:

# 代码 1 开始

def M(str):

    pass

 # ##  添加代码

appuifw.app.menu = [(u"go",M(u"start"))]

# 代码 1 结束

    结果是一进入程序就执行 M() 函数,相当纳闷。

解决办法是将最后一行改为 appuifw.app.menu = [(u"go",lambda:M(u"start"))]

至于原理现在还没搞清楚...

你可能感兴趣的:(Go)