0
我有一些红宝石代码(1.9)等红宝石管和C扩展
@rd,@wd = IO.pipe
def callback()
puts @wd.class
# do stuff
end
pid = fork do
@rd.close
register_callback(:callback)
end
@wd.close
# do some stuff in parent process
register_callback是C延伸,使得阻挡系统调用,并且在一定条件下将调用与传递的符号相关联的红宝石功能in。
但是@wd是NilClass的类型,根据我运行该程序时得到的消息,它试图访问回调函数中的@wd,这对我来说没有任何意义。任何帮助表示赞赏。在调用register_callback方法后,您可以使用以下代码:
即使取出@ wd.close后,我仍然得到NilClass – 2011-04-29 01:20:37