当前位置: 首页 > news >正文

台州路桥做网站的公司网站优化检测工具

台州路桥做网站的公司,网站优化检测工具,wordpress启动慢,网站配色主题Lua 学习笔记之三 高阶话题迭代实例代码有关迭代的描述 协作线程实例代码有关协作线程的描述 高阶话题 迭代 实例代码 --迭代 local function enum(array)local index 1return function()local ret array[index]index index 1return retend endlocal function foreach(a…

Lua 学习笔记之三

  • 高阶话题
    • 迭代
      • 实例代码
      • 有关迭代的描述
    • 协作线程
      • 实例代码
      • 有关协作线程的描述

高阶话题

迭代

实例代码

--迭代
local function enum(array)local index = 1return function()local ret = array[index]index = index + 1return retend
endlocal function foreach(array,action)for element in enum(array)doaction(element)end
endforeach({1,2,3},print)

输出结果

1
2
3

有关迭代的描述

  • 定义
    迭代是for语句的一种特殊形式,可以通过for语句驱动迭代函数对一个给定集合进行遍历。正式、完备的语法说明较复杂,请参考Lua手册。

  • 实现
    如前面代码所示:enum函数返回一个匿名的迭代函数,for语句每次调用该迭代函数都得到一个值(通过element变量引用),若该值为nil,则for循环结束。

协作线程

实例代码

--线程
local function producer()return coroutine.create(function(salt)local t = {1,2,3}for i = 1,#t dosalt = coroutine.yield(t[i] + salt)endend)
endfunction consumer(prod)local salt = 10while true dolocal running ,product = coroutine.resume(prod, salt)salt = salt*saltif running thenprint(product or "END!")elsebreakendend
endconsumer(producer())

输出结果

11
102
10003
END!

有关协作线程的描述

  • 创建协作线程
    通过coroutine.create可以创建一个协作线程,该函数接收一个函数类型的参数作为线程的执行体,返回一个线程对象。

  • 启动线程
    通过coroutine.resume可以启动一个线程或者继续一个挂起的线程。该函数接收一个线程对象以及其他需要传递给该线程的参数。线程可以通过线程函数的参数或者coroutine.yield调用的返回值来获取这些参数。当线程初次执行时,resume传递的参数通过线程函数的参数传递给线程,线程从线程函数开始执行;当线程由挂起转为执行时,resume传递的参数以yield调用返回值的形式传递给线程,线程从yield调用后继续执行

  • 线程放弃调度
    线程调用coroutine.yield暂停自己的执行,并把执行权返回给启动/继续它的线程;线程还可利用yield返回一些值给后者,这些值以resume调用的返回值的形式返回。

参考文献《C/C++程序员的Lua快速入门》

http://www.mmbaike.com/news/38978.html

相关文章:

  • 企业网站模板下载尽在seo公司 上海
  • 找活做的网站免费建站有哪些
  • 温州市建设工程招投标网站巨量引擎
  • eclipse用来做网站前端新手做seo怎么做
  • 网站建设公司市场开发方案上海平台推广的公司
  • 怎么测试一个网站哪里有竞价推广托管
  • 中国人做暧暧视频网站盘多多网盘资源库
  • 中山网站推广优化宁德市区哪里好玩
  • 南宁网页制作过程seo文章
  • 中国和住房城乡建设部网站产品如何做线上推广
  • wordpress上传文件插件网站怎么优化推荐
  • 海淀网站建设下载app
  • 做网站的难点品牌策划
  • 做美容行业的网站哪个好中国网站排名网
  • 建南沙做网站公司普通话手抄报文字内容
  • 网站打开是别人的什么是广告营销
  • 怎么更改网站域名解析网站建设的步骤
  • 石家庄做外贸的网站百度推广助手客户端
  • 哪里有网站开发服务南昌seo招聘信息
  • 自己做网站需要备份么杭州明开seo
  • wordpress oa教程谷歌seo顾问
  • 安徽城乡建设委员会的网站互联网推广平台有哪些
  • 网站在政务新媒体建设微信搜一搜seo优化
  • 淘客网站如何做seo交流论坛
  • 凡科网企业账号登录徐州网站优化
  • 站长工具网址查询成都seo专家
  • 用flash做的经典网站湖南seo优化价格
  • 产品设计是什么云巅seo
  • 网站做压测品牌营销策划网站
  • dedecms网站地图调用武汉百度网站优化公司