Lua编程示例(七):协同程序基础逻辑

 更新时间:2020年6月30日 23:51  点击:1851

co=coroutine.create(function()
 print("hi")
end)
print(coroutine.status(co))
coroutine.resume(co)
print(coroutine.status(co))
print()

co=coroutine.create(function()
 for i=1,2 do
 print("co",i)
 coroutine.yield()
 end
end)
coroutine.resume(co)
print(coroutine.status(co))

coroutine.resume(co)
print(coroutine.status(co))

coroutine.resume(co)  --没有输出
print(coroutine.status(co))
print()

co=coroutine.create(function(a,b,c)
 print("co",a,b,c)
end)
coroutine.resume(co,1,2,3)

co=coroutine.create(function(a,b)
 print("I'm before yield")  --第一次运行执行
 coroutine.yield(a+b,a-b,"needless args")  --在这停住,返回yield的参数
 print("Mgs")
end)
print(coroutine.resume(co,20,10)) --参数传给yield,处理后再返回
print("I print first")
coroutine.resume(co)

co=coroutine.create(function()
 return "I'll return"
end)
print(coroutine.resume(co)) --主函数的返回值回传给resume
print()

输出结果:

suspended
hi
dead

co 1
suspended
co 2
suspended
dead

co 1 2 3
I'm before yield
true 30 10 needless args
I print first
Mgs
true I'll return


[!--infotagslink--]

相关文章

  • Lua语言新手简单入门教程

    这篇文章主要给大家介绍的是关于Lua语言新手入门的简单教程,文中通过示例代码一步步介绍的非常详细,对各位新手们的入门提供了一个很方便的教程,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。...2020-06-30
  • lua读取redis数据的null判断示例代码

    最近在工作中遇到了一个问题,通过查找相关资料才得知原因是因为返回结果的问题,下面这篇文章主要给大家介绍了关于lua读取redis数据的null判断的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下...2020-06-30
  • Lua判断变量是否为数字、字符串是否可以转换为数字等

    这篇文章主要介绍了Lua判断变量是否为数字、字符串是否可以转换为数字等,本文讲解了Lua 判断是字符还是数字的方法、Lua判断数字的方法、判断可否转换为数字的方法、判断并且准备一个初值的方法,需要的朋友可以参考下...2020-06-30
  • Lua流程控制语句if else的使用示例

    今天小编就为大家分享一篇关于Lua流程控制语句if else的使用示例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧...2020-06-30
  • Lua的table库函数insert、remove、concat、sort详细介绍

    这篇文章主要介绍了Lua的table库函数insert、remove、concat、sort详细介绍,本文分别给出了这几个函数的使用实例,需要的朋友可以参考下...2020-06-30
  • Lua中的模块(module)和包(package)详解

    这篇文章主要介绍了Lua中的模块(module)和包(package)详解,本文讲解了require函数、写一个模块、package.loaded、module函数等内容,需要的朋友可以参考下...2020-06-30
  • Lua中的loadfile、dofile、require详解

    这篇文章主要介绍了Lua中的loadfile、dofile、require详解,本文分别用实例讲解它的用法和特点等内容,需要的朋友可以参考下...2020-06-30
  • 如何使用Vim搭建Lua开发环境详解

    这篇文章主要给大家介绍了关于如何使用Vim搭建Lua开发环境的相关资料,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧...2020-06-30
  • Lua一维数组与多维数组的使用示例

    今天小编就为大家分享一篇关于Lua一维数组与多维数组的使用示例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧...2020-06-30
  • C语言与Lua之间的相互调用详解

    这篇文章主要给大家介绍了关于C语言与Lua之间的相互调用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。...2020-04-25
  • 深入谈谈lua中神奇的table

    table 在lua中是一个非常常用的数据结构,可以用来存放各种类型的元素,下面这篇文章就来给大家介绍了关于lua中神奇的table的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧...2020-06-30
  • Lua Table转C# Dictionary的方法示例

    这篇文章主要给大家介绍了关于Lua Table转C# Dictionary的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。...2020-06-30
  • Lua基础之运算符的使用示例

    今天小编就为大家分享一篇关于Lua基础之运算符的使用示例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧...2020-06-30
  • Lua中设置table为只读属性的方法详解

    这篇文章主要给大家介绍了关于Lua中设置table为只读属性的方法,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。...2020-06-30
  • ToLua框架下C#与Lua代码的互调操作

    这篇文章主要介绍了ToLua框架下C#与Lua代码的互调操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-18
  • Lua游戏开发教程之时区问题详解

    时间显示问题说白了就是时差问题,这篇文章主要给大家介绍了关于Lua游戏开发教程之时区问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-30
  • Nginx中使用Lua脚本配置示例

    这篇文章主要介绍了Nginx中使用Lua脚本配置示例,本文以一个Lua拦截器为例讲解如何配置使用Lua脚本,需要的朋友可以参考下...2016-01-27
  • Lua中pairs与ipairs的区别总结

    这篇文章主要给大家介绍了关于Lua中pairs与ipairs区别的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧...2020-06-30
  • Lua中遍历数组和table的4种方法

    这篇文章主要介绍了Lua中遍历数组和table的4种方法,本文讲解了使用for遍历、迭代器的方式遍历等方法,同时提供一个复杂table的的遍历方法,需要的朋友可以参考下...2020-06-30
  • 利用nginx+lua+redis实现反向代理方法教程

    这篇文章主要给大家介绍了利用nginx+lua+redis实现反向代理方法教程,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。...2017-07-06