我是靠谱客的博主 帅气冰棍,最近开发中收集的这篇文章主要介绍04 Lua的require和lua特殊语法Lua的require和lua特殊语法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Lua的require和lua特殊语法


14> 全局变量和局部变量

  • 在Lua中的声明的变量没有修饰符时都是全局变量,用 local 修饰的变量是局部变量,在局部空间内有效。

15> 多脚本执行Require

  • require(”脚本名“),当申请脚本调用时,就会执行其他脚本中的内容。
require("脚本名")
require '脚本名'
--当require调用脚本成功时,就可以调用该脚本的全局变量和方法,
  • require加载过一次该脚本后再次加载也不会执行该脚本输出内容,可以通过测试查看该脚本是否被加载。
package.loaded["脚本名"] 
--返回一个boolean,当为true时表示该脚本已被成功加载过。
  • 卸载require再执行
package.loaded["脚本名"]  = nil
require '脚本名'

16> Lua中的大G表

  • ( _G )G表是一个总表(table类型),它将我们声明的所有全局变量都存储在_G表中
for k,v in pairs(_G) do
    print(k,v)
 end
  • 本地局部变量,不会存储在_G表中。

17> return的特殊用法

  • 在一个Lua文本中,可以用在文件代码的最后一行return 变量名,将该Lua文件的一个变量返回到全局,可以将本地变量返回到require方法中,当require调用加载其他Lua文件时,用一个变量接收require方法的返回值。
--Test1.Lua
local a = 666
print("hahahah")
return a
-------------------------------------------
--Test2.Lua
local num = require("Test1")---hahahah
print(num )----666

18> and 和 or 的特殊用法

  • 在lua中进行条件判断时,nil和false返回false,而非nil值和true返回true

  • and和or和C#的&&,||都有短路的性质,因此,使用此性质可以有一些特殊用法

print(1 and 0)-----0//true and true ,返回第二个变量
print(nil and 1)---nil//false 短路and,返回第一个变量,第二个不执行
print(1 or 0)------1//true短路or,返回第一个变量
print(nil or 1)----1//false or true 返回第二个元素

执行右侧操作数就返回右侧,不执行就返回左侧

  • 利用这种特质创造lua三目运算符
local res = (a>b)and a or b
---当a>b and a ---true  --> a
      ---a or b ---true 短路b,返回 a
---当a>b and a ---false --> a>b
      ---a>b or b ---右侧true ,返回 b

19> goto 一般在for循环中进行标签跳跃

---定义标签

:: label ::
---------------

local a = 1
::label:: 
print("--- goto label ---")

a = a+1
if a < 3 then
    goto label   -- a 小于 3 的时候跳转到标签 label
end


最后

以上就是帅气冰棍为你收集整理的04 Lua的require和lua特殊语法Lua的require和lua特殊语法的全部内容,希望文章能够帮你解决04 Lua的require和lua特殊语法Lua的require和lua特殊语法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部