Lambda Valas闭包如何映射到精灵?

Lambda Valas闭包如何映射到精灵?,lambda,closures,vala,genie,Lambda,Closures,Vala,Genie,这个有一个 我试图用精灵重写这段代码,但无法转换最后两行。唯一的问题是 如何在精灵的方法调用中使用匿名方法定义?我认为没有办法。您必须使用“def”调用另一个进程 这在目前是不可能的: 目前,Genie仅支持不推荐的信号lambda语法 (+=). 此修补程序在大多数构造中提供lambda支持,只有 要求是大括号和小括号需要在其上进行缩进平衡 多行构造 Bus.own_name (BusType.SESSION, "org.example.DemoService", /* name to re

这个有一个

我试图用精灵重写这段代码,但无法转换最后两行。唯一的问题是


如何在精灵的方法调用中使用匿名方法定义?

我认为没有办法。您必须使用“def”调用另一个进程


这在目前是不可能的:

目前,Genie仅支持不推荐的信号lambda语法 (+=). 此修补程序在大多数构造中提供lambda支持,只有 要求是大括号和小括号需要在其上进行缩进平衡 多行构造

Bus.own_name (BusType.SESSION, "org.example.DemoService", /* name to register */
              BusNameOwnerFlags.NONE, /* flags */
              on_bus_aquired, /* callback function on registration succeeded */
              () => {}, /* callback on name register succeeded */
              () => stderr.printf ("Could not acquire name\n")); /* callback on name lost */
f.my_event += def (t, a)
    print "event was detected with value %d", a
Bus.own_name (BusType.SESSION, "org.example.DemoService", 
          BusNameOwnerFlags.NONE, 
          on_bus_aquired, 
          reg,
          err);

def reg()
    pass

def err()
    print "error"