我是Python新手。有人能解释函子值的来源吗。函子=函数函数,但是没有解释函子这个词,我试着在谷歌上搜索,却一无所获。另外,.val关键字在任何地方都没有解释,我可能有点模糊,但我找不到任何例子。def process_action(self, msg, sender):
assert msg.get_type() == pedroclient.PObject.structtype
functor = msg.functor
assert functor.get_type() == pedroclient.PObject.atomtype
cmd_type = functor.val
cmd = msg.args[0]
if cmd_type == 'stop_':
assert cmd.get_type() == pedroclient.PObject.structtype
cmd_functor = cmd.functor.val
#if cmd_functor in ['pickup', 'putdown']:
self.stop_arm(cmd.args[0].val)
#else:
# self.stop_arm(cmd.args[0].val)
elif cmd_type in ['start_', 'mod_']:
self.start_animate()
assert cmd.get_type() == pedroclient.PObject.structtype
cmd_functor = cmd.functor.val
if cmd_functor == 'pickup':
self.pickup(cmd.args[0].val, cmd.args[1].val, sender)
elif cmd_functor == 'putdown':
if cmd.args[1].get_type() == pedroclient.PObject.inttype:
self.putdown_on_block(cmd.args[0].val, cmd.args[1].val,
sender)
else:
self.putdown_on_table(cmd.args[0].val, cmd.args[1].val,
sender)
elif cmd_functor == 'go_home':
self.go_home(cmd.args[0].val)
编辑:对不起,还有很多代码,我已经尽我所能略过了。
^{pr2}$
我能理解的最好的是函子是msg的一个属性,msg又是系统输入的参数,其中系统输入是一个事件通知。我是正确的还是完全走错了方向。