Project1

标题: 一个对我来说有点难的脚本问题 [打印本页]

作者: 赛露休斯    时间: 2009-7-6 20:27
标题: 一个对我来说有点难的脚本问题

  1. class A
  2.   def fn
  3.     abc = 50
  4.     return abc
  5.   end
  6. end

  7. s = A.new.fn
  8. if s == 50
  9.   p "成功"
  10. else
  11.   p "失败"
  12. end  
  13. #返回成功

  14. t = Thread.new { A.new.fn }
  15. if t == 50
  16.   p "成功"
  17. else
  18.   p "失败"
  19. end  
  20. #返回失败
复制代码
为什么第二个返回失败?
如何新开一个线程调用并获取该方法的返回值?
作者: dbshy    时间: 2009-7-6 21:44
本帖最后由 dbshy 于 2009-7-6 21:46 编辑

class A
  def fn
    abc = 50
    return abc
  end
end
a = 0
t = Thread.new { a = A.new.fn }
if a == 50
  p "成功"
else
  p "失败"
end   
#返回成功

Thread.new
返回生成的线程,所以是失败


施主,做游戏怎么会用到线程
苦海无边,回头是岸啊,阿弥陀佛
作者: 紫苏    时间: 2009-7-7 09:56
呵呵,做游戏经常用到线程啊,大师~处理 Windows 消息的,处理游戏主过程的,处理资源读取的,计时的,回收垃圾的等等等等……
作者: dbshy    时间: 2009-7-7 10:10
紫苏施主何方高人,老衲佩服:loveliness:
另外老衲说的是用RM做游戏,线程没必要知道吧,不知贫僧说的是否正确
作者: 紫苏    时间: 2009-7-7 10:20
大师言之有理,不过寒露兄曾有“如何中断函数执行”一问,此等目的若要从高层实现似乎非线程不可,小子也未想出其它良方:(
作者: IamI    时间: 2009-7-7 11:14
5# 紫苏

转Proc睡不行吗……?
另外……你们两个……:L
作者: 我不宅    时间: 2009-7-7 11:15
啥?!
作者: tommay    时间: 2009-7-7 11:17
听闻LS诸位大师教诲,在下五体投地~不过看来MS用不着,我闪~




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1