示栗代码:

local myClass = { m = 10,n = 11}function myClass:new()local self = {}setmetatable(self,{__index = myClass})return self
endlocal a = 0
local b = 0
local c = 0myClass.a = 1
myClass.b = 2
myClass.c = 3a = 4
b = 5
c = 6
d= 7
e = 8
f = 9
print(myClass.a,myClass.b,myClass.c)
print(a,b,c)
return myClass

相对于C#对应的解释:

带local的变量a,b,c其实是私有静态变量。

不带local的变量d,e,f其实是公有静态变量。

私有静态变量验证方式:

用面象对象写一个类,然后去实例化一个对象,然后使用这个对象内部的方法调用local变量,你会发现不同的对象里面的local在每次赋值之后都会一样。

如果要让对象拥有自己的变量,那么我建议您在元表里面写变量,那么这样每个对象产生的变量就会不一样。

例如以上元表中的

{ m = 10,n = 11}

转载于:https://www.cnblogs.com/vsirWaiter/p/7742068.html

Lua中local变量和非local变量的区别相关推荐

  1. 线性规划——规范型,标准型,基阵、基本解、基本可行解、基变量、非基变量.... 概念梳理

    文章目录 前言 最优化-线性规划 模型问题 线性规划模型的一般形式(min) 线性规划规范形式 线性规划标准型 模型的转换 线性规划中的规律 规范形式顶点的数学描述 标准形式顶点的数学描述 标准形式顶 ...

  2. 静态成员变量和非静态成员变量的对比

    静态成员变量和非静态成员变量的对比 1.存储的数据 静态成员变量存储的是所有对象共享的数据 非静态成员变量存储的是每个对象特有的数据 2.存储位置 静态成员变量是随着类的加载在方法区的静态区开辟内存了 ...

  3. 静态变量与非静态变量的区别

    静态变量的类型说明符是static,非静态变量反而类型说明符就不是static了.本文主要介绍静态和非静态变量的区别,希望对你有帮助,一起来看. AD: 静态变量:静态变量使用 static 修饰符进 ...

  4. 静态成员变量和非静态成员变量的区别

    1.它们在内存中出现的时间不同: 静态成员变量:它是在加载当前这个类的时候,就在方法区的静态区中存在. 非静态成员变量:当创建这个类的对象的时候,随着对象的产生在堆中出现. 2.它们所在的内存区域不同 ...

  5. C#静态变量和非静态变量的区别

    静态变量: •静态变量使用 static 修饰符进行声明 •在所属类被装载时创建 •通过类进行访问 •所属类的所有实例的同一静态变量都是同一个值 •非静态变量: •不带有 static 修饰符声明的变 ...

  6. 静态成员变量和非静态成员变量的5个主要区别

    1.从保存位置: a) 静态成员变量: 方法区的静态区域 b) 非静态成员变量: 堆内存中的对象空间里面 2.从书写格式上看: a) 静态成员变量: 在数据类型前面多了一个static修饰 b) 非静 ...

  7. java heap space 解决方法_Java静态方法/变量,非静态方法/变量的区别,今天一并帮你解决

    静态/非静态 方法/变量的写法 大家应该都明白静态方法/字段比普通方法/字段的写法要多一个static关键字,简单写下他们的写法吧,了解的可以直接略过 class Test{ // 静态变量 publ ...

  8. Python的静态成员变量和非静态成员变量

    Python中,静态成员变量称为类变量,非静态成员变量称为实例变量. 基本概念 类变量: 类变量定义在类中且在函数体之外.类变量通常不作为实例变量使用.类变量在整个实例化的对象中是公用的. 实例变量: ...

  9. 自动变量,非自动变量,全局变量与局部变量

    自动变量,就是普通的局部变量相对于静态变量而言的  非自动变量有两种,一种是全局变量,一种是静态变量(不被释放)2.全局变量和static变量一样只初始化一次,用static定义的全局变量不能被外部文 ...

最新文章

  1. 项目管理难,如何高效地对项目进行管理?
  2. 【LeetCode 169】Majority Element
  3. python什么模块动态调用链接库_python 动态调用模块、类、方法(django项目)
  4. 删除U盘作为启动盘的隐藏启动分区
  5. [洛谷P5048][Ynoi2019模拟赛]Yuno loves sqrt technology III
  6. 像程序员一样思考_如何像程序员一样思考-解决问题的经验教训
  7. python dataframe删除重复行_详解pandas使用drop_duplicates去除DataFrame重复项参数
  8. shell基础(上)
  9. 真香!8 行代码搞定最大子数组和问题
  10. html动画加载效果,CSS3 实现 Loading(加载)动画效果
  11. C#反编译工具:ILSpy
  12. 【笔记篇】01初识供应链——之《实战供应链》
  13. 电信机顶盒时中心服务器异常,电信机顶盒常见故障汇总大全
  14. 摔手机问题--第九届蓝桥杯
  15. Quartus 调试中的Nios 程序
  16. SQlite3基本用法,使用sublime编辑器
  17. SpringMvc学习日记-基础知识
  18. C语言趣味程序设计编程百例精解
  19. 第3天-Jenkins详解
  20. 水果店刚起步要怎么做,一家水果店要准备什么

热门文章

  1. 存储过程循环遍历一个月的每一天的函数_3.3 循环
  2. java 文件下载预览_javaweb简单的实现文件下载及预览
  3. samba服务器_win10 更新导致无法连接samba服务器
  4. 1633: [Usaco2007 Feb]The Cow Lexicon 牛的词典(DP)
  5. NYOJ 3:多边形重心问题
  6. 图像膨胀、腐蚀算法实现 python源码
  7. C++ STL 堆(heap)的初始化及其正确使用
  8. [bug解决] IndentationError unindent does not match any outer indentation level
  9. python基础系列教程——python基础语法全解
  10. C# 设置Excel中的数字字符串格式