Chunk是一系列语句,Lua执行的每一块语句,比如一个文件或者交互模式下的每一行都是一个Chunk。

每个语句结尾的分号(;)是可选的,但如果同一行有多个语句最好用;分开

a = 1   b = a*2    -- ugly, but valid

一个Chunk可以是一个语句,也可以是一系列语句的组合,还可以是函数,Chunk可以很大,在Lua中几个MByte的Chunk是很常见的。

你还可以以交互模式运行Lua,不带参数运行Lua:

Lua 5.0  Copyright © 1994-2003 Tecgraf, PUC-Rio
>

你键入的每个命令(比如:"Hello World")在你键入回车之后立即被执行,键入文件结束符可以退出交互模式(Ctrl-D in Unix, Ctrl-Z in DOS/Windows),或者调用OS库的os.exit()函数也可以退出。

在交互模式下,Lua通常把每一个行当作一个Chunk,但如果Lua一行不是一个完整的Chunk时,他会等待继续输入直到得到一个完整的Chunk.在Lua等待续行时,显示不同的提示符(一般是>>).

可以通过指定参数让Lua执行一系列Chunk。例如:假定一个文件a内有单个语句x=1;另一个文件b有语句print(x)

prompt> lua -la -lb

命令首先在一个Chunk内先运行a然后运行b。(注意:-l选项会调用require,将会在指定的目录下搜索文件,如果环境变量没有设好,上面的命令可能不能正确运行。我们将在8.1节详细更详细的讨论the require function)

-i选项要求Lua运行指定Chunk后进入交互模式.

prompt> lua -i -la -lb

将在一个Chunk内先运行a然后运行b,最后直接进入交互模式。

另一个连接外部Chunk的方式是使用dofile函数,dofile函数加载文件并执行它.假设有一个文件:

-- file 'lib1.lua'
function norm (x, y)local n2 = x^2 + y^2return math.sqrt(n2)
end
function twice (x)return 2*x
end

在交互模式下:

> dofile("lib1.lua")     -- load your library
> n = norm(3.4, 1.0)
> print(twice(n))        --> 7.0880180586677

-idofile在调试或者测试Lua代码时是很方便的。

源码:LUA一个小巧脚本语言学习笔记

LUA教程Chunks-2

LUA教程Chunks-2相关推荐

  1. Lua 教程 | 菜鸟教程

    Table of Contents Lua 教程 设计目的 Lua 特性 Lua 应用场景 第一个 Lua 程序 Lua 环境安装 Linux 系统上安装 Lua 基本语法 第一个 Lua 程序 交互 ...

  2. centos 安装mysql-proxy_详解在Centos 5.2下安装最新Mysql Proxy LUA教程

    在Centos 5.2下安装***Mysql Proxy LUA教程是本文要介绍的内容,主要是来了解Mysql Proxy LUA的安装过程,文章中有很详细的讲解,具体内容来看本文详解. mysql ...

  3. 一、Lua 教程的学习

    Lua 教程 Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能. Lua 是巴西里约热内卢天主教大学(Po ...

  4. 【Lua 教程系列第 4 篇】Lua 中的第一行代码 hello world

    这是[Lua 教程系列第 4 篇],如果觉得有用的话,欢迎关注专栏. 接着上一篇博客继续写. 这里我的 lua 文件名起名为"LuaTest",接着输入 print("h ...

  5. LUA教程类型Strings-7

    指字符的序列.lua是8位字节,所以字符串可以包含任何数值字符,包括嵌入的0.这意味着你可以存储任意的二进制数据在一个字符串里.Lua中字符串是不可以修改的,你可以创建一个新的变量存放你要的字符串,如 ...

  6. 1.0 Lua教程之基本语法

    概述 特性 安装 基本语法 交互式编程 脚本式编程 注释 标识符 全局变量 基本数据类型 nil 布尔 number 字符串 表 函数 线程 userdata(自定义类型) 摘自Lua教程,仅供学习, ...

  7. lua怎么嵌入php,Lua教程(一):在C++中嵌入Lua脚本

    本系列教程主要介绍如何在C/C++程序里面嵌入Lua脚本,我打算从以下几个方面来介绍: 1.如何在C/C++里面嵌入Lua脚本 2.Lua访问C/C++数据结构(这里面要介绍类,结构体,函数,变量,枚 ...

  8. 【Lua 教程系列第 2 篇】什么是 Lua 语言?

    这是[Lua 教程系列第 2 篇],如果觉得有用的话,欢迎关注专栏. 一:Lua 语言简介 Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而 ...

  9. Lua教程-1:C/C++操作Lua数组和字符串

    Lua教程-1:C/C++操作Lua数组和字符串 C/C++操作Lua数组 Lua数组Overview 通用Table操作方法 专门的数组操作方法 C/C++操作Lua字符串 基本字符串操作 格式化输 ...

  10. 剑网重置版lua教程 已在tx发布

    剑网重置版lua教程 第一课:什么是lua 第二课:使用lua和lua函数 第三课:封装一个无参call 第四课:封装一个有参call 第五课:封装一个有返回的call 第六课:建立易语言lua测试环 ...

最新文章

  1. mahout相关笔记
  2. python提交spark_带有python入口点的sparksubmit
  3. python中安装一个第三方库的命令格式是-PyCharm 如何安装python第三方库及插件
  4. 查看cpu使用率_腾讯游戏开发工程师:Linux 机器 CPU 毛刺问题排查
  5. KandQ:那年,那树,那些知识点
  6. 什么是硬件设计?——成功的硬件设计需要什么?
  7. Oracle宣布新的Java Champions
  8. cocos2d-x帧动画实现(续)
  9. 牛逼!它比传统数据库快 100-1000,真不相信?
  10. 接口与interface关键字
  11. 机器学习——人工神经网络(NN)
  12. Centos7配置软RAID+LVM
  13. 系统运维应届生面试题
  14. 一个操作系统的实现(8)进程间通信
  15. rockchip中的vop
  16. C语言实现linux环境UDP协议接收发送数据
  17. 【项目管理】项目成本管理
  18. 制作chm文件搜索时总提示找不到主题的问题
  19. 高度自律是怎样一种人生体验(二)
  20. 五步打造持续变现知识IP

热门文章

  1. 新合作系列!布朗熊搭档小黄人,萌出新高度
  2. linux用小皮搭建pikachu靶场网站
  3. C++基础13:容器适配器(Container Adapte)
  4. linux 烧写google 平板的Rom
  5. Spring Conditional原理与实例
  6. 数据报分片的偏移量问题
  7. Mac os壁纸提取
  8. 递归数列(recursive sequence)
  9. CF693Div3-F,G
  10. TortoiseGit(大乌龟)安装教程(Git 图形化工具,告别手敲命令)