`
caiwb1990
  • 浏览: 308901 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Lua类型

    博客分类:
  • lua
lua 
阅读更多
Lua 是动态类型语言,变量不要类型定义。

Lua 中有 8 个基本类型分别为:nil、boolean、 number、string、userdata、function、thread 和 table。函数 type 可以测试给定变量或者值 的类型。

print(type("Hello world))  --> string
print(type(10*3))    --> number
print(type(print))    --> function
print(type(true))     -->true
print(type(nil))       --> nil
print(type(type(X)))  -->string


Nil
Lua 中特殊的类型,他只有一个值:nil;
一个全局变量没有被赋值以前默认值为 nil;
给全局变量负 nil 可以删除该变量。

Booleans
两个取值 false 和 true。
但要注意 Lua 中所有的值都可以作为条件。在控制结构的条 件中除了 false 和 nil 为假,其他值都为真。所以 Lua 认为 0 和空串都是真。

Numbers
表示实数,Lua 中没有整数.Lua 的 numbers 可以处理任何长整数不用担心误差。


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


Functions
函数是第一类值(和其他变量相同),意味着函数可以存储在变量中,可以作为函数 的参数,也可以作为函数的返回值。这个特性给了语言很大的灵活性:一个程序可以重 新定义函数增加新的功能或者为了避免运行不可靠代码创建安全运行环境而隐藏函数, 此外这特性在 Lua 实现面向对象中也起了重要作用

Userdata and Threads
userdata 可以将 C 数据存放在 Lua 变量中,userdata 在 Lua 中除了赋值和相等比较外 没有预定义的操作。userdata 用来描述应用程序或者使用 C 实现的库创建的新类型。

分享到:
评论

相关推荐

    typedlua, 一种可选的Lua类型系统.zip

    typedlua, 一种可选的Lua类型系统 类型的Lua 注意:请注意,键入的Lua没有被积极维护,因为我们现在正在使用Titan编程语言 。 类型化Lua是编译成纯Lua的Lua类型的超集。 它通过定义类。接口和模块来提供可选的类型...

    易语言LUA支持库1.0#0版(第三方)

    加载类库() 使用.LUA类型 (常量)。LUA数据类型值。用以判断LUA传递到应用程序环境中的数据类型的一组常量。LUA状态 (常量)。LUA虚拟机的状态值。lua 是巴西人开发的一门小巧的脚本语言,其语言为嵌入到应用程序中...

    lua proto 解决int64 解析

    lua proto 解决int64 解析 用于unity3d luafromwork的解决方案

    Lua-C 绑定库LuatinkerE.zip

    导入lua的函数,现在支持任意多的参数支持的read/push的元素类型增加std::string,std::function,lua_function_ref,stl容器,std::shared_ptr对象支持最多16个参数的非精确匹配的函数重载(c 类型downcast到lua类型后...

    LuaBind 源码 (Lua增强库)

    LuaBind 是一个帮助你绑定C++和Lua的库.她有能力暴露 C++ 函数和类到 Lua . 她也有 能力支持函数式的定义一个Lua类,而且使之继承自C++或者Lua. Lua类可以覆写从 C++ 基类 继承来的虚函数. 她的目标平台是Lua 5.0 ,不...

    wireshark解析h.264的nal类型的lua(基于rtp协议)

    1 确认你的Wireshark支持lua 如果Wireshark安装目录下面有init lua文件就说明支持Lua 2 将rtp h264 lua拷贝到Wireshark的安装目录下 3 需要启动对Lua的支持 默认不启动对Lua的支持 编辑 init lua文件 在“disable ...

    易语言-易语言LUA支持库1.0#0版(第三方)

    LUA类型 (常量) LUA数据类型值。用以判断LUA传递到应用程序环境中的数据类型的一组常量。 LUA状态 (常量) LUA虚拟机的状态值。 lua 是巴西人开发的一门小巧的脚本语言,其语言为嵌入到应用程序中而设计的。从而为...

    unity xlua lua5.4.6最新版lua库文件

    - 修复了 load 函数在解析代码期间返回意外的错误类型的漏洞 - 修改了 require 函数的行为,现在它在找不到模块时不会调用 C 中的 findloader 函数 - 提高了内存分配器的效率 这只是 Lua 5.4.6 版本的一些更改,...

    Lua判断数据类型的方法

    主要介绍了Lua判断数据类型的方法,本文讲解了判断数据类型的方法和Lua脚本语言的8种基本数据类型,需要的朋友可以参考下

    iis支持lua的isapi扩展(lua for iis)

    iis支持lua的isapi扩展(lua for iis)

    source insight的lua语言支持包

    Add Type按钮,文件类型名称为Lua File,确定后,在Document Options对话框的File filter一栏中输入*.lua,然后在Document Options对话框中的Parsing下面分别设置Language和Custom Tag Type:Language->Lua,Custom ...

    LuaD:从D编程语言到Lua的桥梁

    与基于Lua C API构建的许多其他库不同,LuaD不会公开Lua堆栈-相反,它具有用于引用Lua对象的包装器,并支持无缝地直接将任何D类型转换为Lua类型,反之亦然。 这使得它非常易于使用,并鼓励了一种不那么容易出错的...

    中文编程,lua语方中文版,例程,数据类型.lua

    中文编程, Lua语言,5.4.0版本, 函数和关键字可以用中文编写进行编程的,教材的第二章,数据类型,第一节的例程。 有没有喜欢中文编程的朋友,请关注我博客内,有更多的例程。

    C++的lua访问封装

    c++实现访问lua的封装类 提供向lua注册c++类型,注册c++函数, 访问lua函数等功能.

    Lua跟C之间交互Table

    详细描述Lua和C之间相互传递Table类型数据 /* ====================================================== */ // 遍历Lua传入的Table类型参数, 获取它的Key/Value, 其关键操作是 lua_next() // lua_next() 返回1表示...

    ulua tolua api 导出插件 ->luaide

    导出 ulua tolua Api 用于luaide 提示 luaide 是vscode上的lua编辑器插件 特性: 代码推断功能 标签标注 代码跳转 代码调试 错误检查 ...unity lua调试可查看c#类型值(反射机制) 针对各种框架不同的优化

    lua-resty-mlcache:OpenResty的分层缓存库

    结合 API和,可以将该库作为键/值存储缓存标量Lua类型和表,从而提供了一种性能且灵活的缓存解决方案。 特征: 使用TTL进行缓存和否定缓存。 通过内置的互斥可以防止在缓存未命中时对数据库/后端产生狗堆效应。 ...

    LUA5.1 脚本语言 编译执行源码

    作为一门过程型动态语言,Lua有着如下的特性:1、变量名没有类型,值才有类型,变量名在运行时可与任何类型的值绑定;2、语言只提供唯一一种数据结构,称为表(table),它类似key-value关联数组,可以用任何类型的值...

Global site tag (gtag.js) - Google Analytics