我想检查我的lambda函数工作正常充分利用LAMBDA蟒蛇返回值
rule_defs = {
'and': lambda r: (lambda d, r1, r2: match_rule(r1, d) and match_rule(r2, d),
[compile_rule(r[1]), compile_rule(r[2])])}
但是当我尝试运行它
(“和”,“一”, 'A')
它只是表明我类似的东西的这个
<function <lambda> at 0x023C68F0>, ['a', 'a']
据我所知这是我送的['a'.'a']
到从中我想类似True
返回值的λd我误解基本的东西?
编辑:
主叫本身是没有问题的,但返回值为:在0x023C68F0
函数>,[ '一个', 'A']
而不是一个值(即真),我不确定这是我的电话或功能本身的错误
呼叫与 “帮助功能”
calling(input)
return rule_defs[input[0]](input)
(Python的2.7.X)
_“当我尝试运行它......” _到底是如何运行的,你呢?我猜测'('和','a','a')'是你的论点,但这不足以复制你的问题。请[MCVE](http://stackoverflow.com/help/mcve)。 – Kevin
...什么?你为什么要嵌套'lambda's?它应该做什么?我强烈建议为此使用独立的函数,以便您可以更轻松地测试并记录其行为。 – jonrsharpe
你有两个函数,第一个看起来是规则列表,并返回你用三个参数调用的函数......这里有很多,你没有向我们展示......比如你怎么称呼它事情。 –