您现在的位置是:首页 > 正文

lua 基础

2024-02-29 16:17:51阅读 1

lua 基础

        

              

                                       

标识符

        

命名规则

字母、数字、下划线组成
标识符区分大小写,Test和test表示不同的变量
尽量不要使用下划线加大写字母命名,lua内部变量一般这样命名(如_VERSION)

            

lua 关键词为保留词,不能用来表示变量

              

         

局部变量、全局变量:如果没有显示声明为局部变量,默认为全局变量

# a为局部变量、b为全局变量
local a=0;
b=1

# 函数中的变量
function fun()
    a = 5           -- 全局变量
    local b = 6     -- 局部变量
end

         

            

                                       

注释

   

单行注释:--

多行注释:--[[多行语句块]]

           

示例

# test.lua脚本
huli@hudeMacBook-Pro ~ % cat test.lua
print("hello 瓜田李下")
--print("hello 海贼王")

# 执行脚本
huli@hudeMacBook-Pro ~ % lua test.lua
hello 瓜田李下

        

示例 2

# test2.lua
huli@hudeMacBook-Pro ~ % cat test2.lua
print("hello 瓜田李下")

--[[
print("hello 海贼王")
print(1+2)
]]


# 执行脚本
huli@hudeMacBook-Pro ~ % lua test2.lua
hello 瓜田李下

         

             

                                       

数据类型

        

lua共有8种基本数据类型

nil:无效值,一个变量如果没有赋值,默认为nil;nil在条件语句中表示false
boolean:true、false
number:数字类型(双精度数据类型)
string:字符串,单引号、双引号、两个中括号括起来的字符串
table:key、value键值对,key可为字符串、数字(默认从1开始)、表(多维数组)
function:函数
userdata:用户自定义数据,c数据结构
thread:用于执行协同程序

           

 查看数据类型:type(param)

Lua 5.4.4  Copyright (C) 1994-2022 Lua.org, PUC-Rio

# nil类型
> type(nil)
nil

# number类型
> type(2)
number

# string类型
> type("gtlx")
string

> type("2")
string

# function类型
> function fun() return 1 end
> type(fun)
function

# table类型
> t={}
> type(t)
table

             

              

网站文章

  • 升级Android studio 3.3后出现的问题总结与解决

    升级Android studio 3.3后出现的问题总结与解决

    作为开发者保证开发环境的持续更新很重要,Android studio 已经到3.3.2了,最近有空从3.0升级了一下。结果出现了很多的问题。这里就简单总结一下自己遇到的问题和解决方法

    2024-02-29 16:17:23
  • vc++ MFC中字符串(CString)的比较

    vc++ MFC中字符串(CString)的比较

    VC++ MFC中两CString字符串不能直接进行比较,需要转换成char*类型来进行比较。 CString a; CString b; char *pa = (char*)((LPCTSTR)a); char *pb = (char*)((LPCTSTR)b); if(!strcmp(pa,pb)) { MessageBox("pa

    2024-02-29 16:17:15
  • Nutch的安装及配置

    1.下载地址:http://nutch.apache.org/downloads.html安装版本为2.42.设置nutch环境3.修改 $NUTCH_HOME/conf/nutch-site.xml...

    2024-02-29 16:17:09
  • 习题练习03

    最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 “”。 示例 1: 输入: [“flower”,“flow”,“flight”] 输出: “fl” 示例...

    2024-02-29 16:16:28
  • kafka扩容重平衡分区数据

    问题描述: kafka集群扩容进行重新分区后需要对分区重平衡,否则容易导致分区数据倾斜。 详细过程请参考原博客:https://www.cnblogs.com/qcloud1001/p/8330233.html 注意:重分区是对分区切片所在节点的重新分配,而不是数据由旧分区平衡到新分区 ...

    2024-02-29 16:16:01
  • U盘安装ubuntu 10.10,出现错误:Could not find kernel image 的解决办法

    U盘安装ubuntu 10.10,出现错误:Could not find kernel image 的解决办法 查了一下网上的办法,原来是syslinux配置文件的问题。 由于报这个错有多种可能的出错原因,我先说我这里的问题和解法,再摘录一下网络上其他朋友的问题和方法。 这个悲剧男的问题是,压根就没有isolinux.cfg,syslinux.cfg这样的文件,我到/sysl

    2024-02-29 16:15:54
  • 全网最佳设置leaflet 图层的方式

    全网最佳设置leaflet 图层的方式

    全网最佳设置leaflet 图层的方式 其他不同类型的图层都默认有个窗格pane并且还有值,z-index越大就越在上方

    2024-02-29 16:15:46
  • 优化Oracle数据库性能:合理设置数据库参数

    Oracle 数据库是一种功能强大的关系型数据库管理系统,但在处理大量数据和复杂查询时,性能问题可能会成为一个挑战。为了提高数据库的响应速度和效率,我们可以采取一系列的优化措施。 合理设置数据库参数是...

    2024-02-29 16:15:39
  • HTML 语法介绍 三步创建一个简单的网页页面

    HTML 语法介绍 三步创建一个简单的网页页面

    添加基本结构:输入英文‘!’点击‘!!!’ 则自动生成<!DOCTYPE html> # 文档类型说明<html lang="en"> # 页面根标签 语言默认为英文<head> <met...

    2024-02-29 16:15:11
  • 微信公众号开发之40164错误,获取不到access_token,获取不到jsapi_ticket错误问题...

    公司用开的微信签名接口突然间不能用了,调用的时候一直获取不到jsapi_ticket临时凭证,搞的我一脸懵逼,然后回想了下,接口代码没动过呀,公众号后台也只是设置过一次ip白名单,可是后来想了下,觉得...

    2024-02-29 16:15:05