lua-require和dofile的区别(附加全局变量和局部变量的定义)

--require("6-Coroutine")--仅加载一次,并不执行,参数为文件名不加后缀
--dofile("6-Coroutine.lua") --加载并执行,参数为文件名加后缀
--SayHey("kkkk")

x=10  --默认是全局变量

show= function()
local x = 1
for i = 1 ,5 do
x = x+1--出了这个函数x的值就会失效 从而 x取值为全局变量的值10

end
 print(x)
end
--print(x)

时间: 2024-10-18 14:18:20

lua-require和dofile的区别(附加全局变量和局部变量的定义)的相关文章

全局变量和局部变量的定义

1.局部变量: 定义在函数内部的变量就是局部变量,只能在其被声明的函数内部被访问.这样的变量只在函数运行时存在,一旦退出函数,这些局部变量就都被销毁.所有在函数内部声明的变量名称都将被加入作用域中. 示例如下: def printInfo(arg1, arg2) : sum = arg1 + arg2 print "函数中的sum = ",sum #函数体外也定义了一个sum变量 printInfo(5,6) sum = 1 print "函数外的sum = ",s

lua加载函数require和dofile

Lua提供高级的require函数来加载运行库.粗略的说require和dofile完成同样的功能但有两点不同: 1. require会搜索目录加载文件 2. require会判断是否文件已经加载避免重复加载同一文件. 由于上述特征,require在Lua中是加载库的更好的函数. require使用的路径和普通我们看到的路径还有些区别,我们一般见到的路径都是一个目录列表.require的路径是一个模式列表,每一个模式指明一种由虚文件名(require的参数)转成实文件名的方法.更明确地说,每一个

Lua Require函数

转自:http://www.cppblog.com/cslover/archive/2013/12/21/204934.html Lua提供高级的require函数来加载运行库.粗略的说require和dofile完成同样的功能但有两点不同: 1. require会搜索目录加载文件 2. require会判断是否文件已经加载避免重复加载同一文件.由于上述特征,require在Lua中是加载库的更好的函数. require使用的路径和普通我们看到的路径还有些区别,我们一般见到的路径都是一个目录列表

lua require与module

一.模块机制module 1.什么是module 对于用户来说,一个module相当于一个so库.模块的主要目标是实现代码的共享. 2.如何编写module lua是通过table来实现模块的,典型的写法如下. local M = {}        ---- 通常是加local的,如果不加,则M默认注册到_G中,require后,即使不return也可以直接使用M.加了local是局部变量,需要显示的return一下. M.print = function(...) print(...) en

Java——全局变量与局部变量的区别

在Java程序中,会根据变量的有效范围将变量分为成员变量和局部变量,通常类的属性成为累的全局变量(成员变量),成员变量在整个类中都有效,在类的方法体中定义的变量称为局部变量,局部变量只在当前代码体中有效不能用于类的其他方法中.成员变量可与局部变量的名字相同,此时成员变量将被隐藏,即这个成员变量在此方法中暂时失效,只取局部变量的值.举个例子: 1 public class Man{ 2 static int age=20; 3 public static void main(String[] ar

Lua table pair和ipair区别

官方描述: ipairs (t) Returns three values: an iterator function, the table t, and 0, so that the construction for i,v in ipairs(t) do body end will iterate over the pairs (1,t[1]), (2,t[2]), ···, up to the first integer key absent from the table. pairs (

lua require

aa.lua function showName( var ) print ("woshi dongshen "..var) end 1.lua require("aa") showName("ok")

全局变量、局部变量、静态全局变量、静态局部变量在内存里的区别

一.程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分: 1.栈区(stack)- 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等.其操作方式类似于数据结构中的栈. 2.堆区(heap) - 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 .注意它与数据结构中的堆是两回事,分配方式倒是类似于链表. 3.全局区(静态区)(static)- 全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变

【转】全局变量与局部变量在内存中的区别详细解析

转自:http://www.jb51.net/article/42012.htm 作者: 字体:[增加 减小] 类型:转载 时间:2013-10-11 我要评论 以下是对全局变量与局部变量在内存中的区别进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助 一.预备知识-程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1.栈区(stack)- 由编译器自动分配释放,存放函数的参数值,局部变量的值等.其操作方式类似于数据结构中的栈. 2.堆区(heap) - 一般