`
hulianwang2014
  • 浏览: 725260 次
文章分类
社区版块
存档分类
最新评论
  • bcworld: 排版成这样,一点看的欲望都没有了
    jfinal

Lua基础 初识Lua

 
阅读更多

跟学习其他的编程语言一样,学习Lua从hello world开始。

新建一个文件,hello.lua,内容为 print("hello world")。

在shell界面,输入lua hello.lua



下面定义个函数

新建一个文件 func_test.lua

内容如下:

 -- define a factorial funcition
 function fact (n)
     if n == 0 then
         return 1
     else
         return n * fact(n-1)
     end
 end
 
 print("enter a number:");
 a=io.read("*number")  -- read a number
 print(fact(a))

运行



关于语句块

lua在连续语句之间是不需要分隔符的,例如下面的4个语句块是等价的。

a = 1
b = a*2


a = 1;
b = a*2;


a = 1; b = a*2;


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

上面的两个示例,我们是将code写到文件中去运行的,还有另一种方式也可以运行lua语句,就是在交互模式下

在shell模式下,输入lua,不带任何参数,会进入交互模式


要退出交互模式,可以用ctrl+d或者输入os.exit()

在得到上图所示的状态后,可以直接输入lua语句运行,lua会把每一行当成一个完整的块来对待,如果它检测到一行构不成一个完整的块,那么它会等待块输入完成。


在交互模式下,也可以通过dofile函数来执行lua脚本文件,也可以在执行了一个文件以后通过 -i 选项让lua进入到交互模式,示例如下,我们将上面的func_test.lua改成lib.lua,并将最后3行注释掉



水平有限,如果有朋友发现错误,欢迎留言交流。
分享到:
评论

相关推荐

    lua学习教程

    1. Lua基础语法: - 变量:Lua支持全局变量和局部变量,不需要预先声明类型,变量类型由赋值决定。 - 数据类型:包括数(整型和浮点型)、字符串、布尔型、表(类似数组或关联数组)、函数、nil(空值)和用户...

    头歌初识redis答案

    ### Redis基础知识与应用 #### Redis概述 Redis是一种开源的、基于内存的数据结构存储系统,能够提供高速的数据访问速度。作为一种键值对存储数据库,Redis因其卓越的性能和灵活性被广泛应用于多种场景,如缓存、...

    头歌初识redis答案.rar

    综上所述,"头歌初识redis答案"这个资料可能涵盖了这些Redis的基础概念和核心特性,通过学习这些内容,初学者可以对Redis有一个全面的认识,并能进行基本的使用和配置。在实际应用中,还需要结合具体的业务需求和...

    第01章 初识Cocos2d-X.zip

    这个“第01章 初识Cocos2d-X.zip”压缩包内容可能包含了对Cocos2d-X的基础介绍和入门教程,帮助初学者了解并开始使用这个框架。 1. **Cocos2d-X概述** Cocos2d-X是Cocos2d-x项目的一部分,由C++编写,支持iOS、...

    openresty官方学习资料

    这本书主要介绍了OpenResty的基础概念和使用方法,包括如何安装和配置OpenResty环境,理解OpenResty的架构设计,以及如何编写基本的Lua脚本来处理HTTP请求。读者会学习到如何利用OpenResty进行反向代理、负载均衡、...

    《redis实战》电子书 中文 11章完整版PDF

    第一部分:基础知识 第1章 初识Redis 第2章 使用Redis构建Web应用 第二部分:核心概念 第3章 Redis命令 第 4 章 数据安全与性能保障 第 5 章 使用Redis构建支持程序 第 6 章 使用 Redis 构建应用组件 第 7 章 基于...

    Redis实战_201512.pdf

    第1章 初识Redis 第2章 使用Redis构建Web应用 第二部分 核心概念 第3章 Redis命令 第4章 数据安全与性能保障 第5章 使用Redis构建支持程序 第6章 使用Redis构建应用程序组件 第7章 基于搜索的应用程序 第8章 构建...

    Unity游戏开发高级教程 第二部分 [MP4] (14.77G)

    15.AssetBundle初识3- c. d4 {3 z- Z3 y. P1 Y# M 16.byte操作1! p1 X1 p$ A& P o% J8 j- F! E" E 17.byte操作2$ {, e5 X* |2 y3 f: R 18.byte操作3 19.C#基础1. Z6 R8 o; w. I1 p$ i 20.C#基础2 21.C#基础3) B: I6 ...

    让不懂编程的人爱上Unity3d游戏开发004-初识神兵-游戏引擎的诞生和发展1

    随着技术的进一步发展,游戏引擎的易用性得到提升,许多引擎开始支持高级编程语言,如Java、C#、Python和Lua,降低了开发门槛。同时,可视化开发工具和预构建的功能模块,如集成开发环境(IDE),使得开发者可以更...

    Redis开发与运维(高清带书签可编辑)1

    在初识Redis章节,书中介绍了Redis的主要特性和使用场景。Redis不仅可以作为数据库使用,提供高速的数据读写,还可以实现发布订阅、键的过期策略、事务处理等功能。然而,Redis并非全能,例如它不适合存储大量大型...

    Language Tutor-开源

    readme.txt文件通常包含了项目的基本信息、安装指南或使用说明,是初识项目的重要参考资料。 “palm”目录可能包含了专为Palm设备优化的版本或相关配置,而“db samples”则可能是示范数据库,供用户了解如何创建和...

    《Redis 开发与运维》1

    在初识Redis章节,书中提到Redis的主要特性和使用场景。Redis可以做以下事情: 1. 缓存:快速存储和检索常用数据,提高应用性能。 2. 消息队列:通过发布/订阅模式和管道实现消息传递。 3. 计数器:对数据进行原子性...

    CE附带程序tutorial教程2-9课

    1. **初识扫描类型**:CE 支持多种扫描类型,如“精确值”、“变化值”、“大于”、“小于”等,这些可以帮助你根据数据的特性来定位内存地址。 2. **设定搜索值**:输入你想要扫描的数值,例如在游戏中的生命值、...

    精通Nginx--第2版1

    作者Dimitri Aivaliotis拥有丰富的实战经验,从学校网络建设到银行的高可用性基础设施搭建,再到流行网站的维护,他在解决客户问题的过程中发现了Nginx的强大之处。他在伦斯勒理工学院和佛罗里达州立大学获得了科学...

    Reids设计与实现(黄键宏)最新版

    6. **Lua脚本**:Redis支持在服务器端执行Lua脚本,可以进行复杂的原子操作,增强了其功能性和灵活性。 7. **内存管理**:Redis主要基于内存工作,因此内存管理是其关键。它采用了jemalloc内存分配器,有效减少内存...

    Angel Script 手册中文版

    #### 一、初识 Angel Script ##### 1.1 Angel Script 简介 - **Angel Script (AS)** 是一种轻量级的脚本语言,主要用于游戏开发和软件扩展功能。它提供了一种简单有效的方法来嵌入脚本功能到应用程序中。 - AS 支持...

    Java思维导图xmind文件+导出图片

    初识分布式架构与意义 如何把应用从单机扩展到分布式 大型分布式架构演进过程 分布式架构设计 主流架构模型-SOA架构和微服务架构 领域驱动设计及业务驱动规划 分布式架构的基本理论CAP、BASE以及其应用 什么...

    Redis实战 中文版 红丸出品

    Redis提供了一系列数据结构,包括字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)等,这些结构支持各种高级特性,如持久化、复制、Lua脚本、事务以及不同级别的磁盘持久...

Global site tag (gtag.js) - Google Analytics