在lua中解决if else switch问题
之前写过一个c#版本的使用字典去解决switch问题 http://www.cnblogs.com/sanyejun/p/7806210.html
现在用写lua版本的
function Main()
local myTable = {}
--绑定
myTable[""] = function() TestMy() end
--调用
myTable[""]();
end function TestMy()
-- body
print("牛逼")
end -----------------------------------------传递参数版本----------------------------------
function Main()
local myTable = {}
--绑定
myTable[""] = function(num) TestMy(num) end
--调用
myTable[""]("");
end function TestMy(num)
-- body
print("牛逼"..num)
end
======================c#版本==============================
class Program
{
//事件字典
static Dictionary<int, Action> eventDic = new Dictionary<int, Action>(); static void Main(string[] args)
{
eventDic[] = delegate () { Mediator(); };
eventDic[](); Console.ReadLine();
} private static void Mediator()
{
Console.WriteLine("哈哈哈");
}
}
-----------------------------带参数版本----------------------------------
class Program
{
//事件字典
static Dictionary<int, Action<int>> eventDic = new Dictionary<int, Action<int>>(); static void Main(string[] args)
{
eventDic[] = delegate (int a) { Mediator(a); };
eventDic[](); Console.ReadLine();
} private static void Mediator(int a)
{
Console.WriteLine("哈哈哈" + a);
}
}
在lua中解决if else switch问题的更多相关文章
- Lua中的语句
[赋值] 赋值的基本含义是修改一个变量或一个table中字段的值,这个和其它语言没有多少区别,但是对于Lua,有一个特性,它允许“多重赋值”,也就是一下子将多个值赋予多个变量,例如以下代码: , pr ...
- Lua中的常用语句结构以及函数
1.Lua中的常用语句结构介绍 --if 语句结构,如下实例: gTable = {} ] ] then ]) == gTable[] then ]) else print("unkown ...
- Lua中的协同程序 coroutine
Lua中的协程和多线程很相似,每一个协程有自己的堆栈,自己的局部变量,可以通过yield-resume实现在协程间的切换.不同之处是:Lua协程是非抢占式的多线程,必须手动在不同的协程间切换,且同一时 ...
- Lua中的捕获
Lua中的捕获 捕获 捕获是这样一种机制:可以使用模式串的一部分匹配目标串的一部分.将你想捕获的模式用圆括号括起来,就指定了一个捕获.在string.find使用捕获的时候,函数会返回捕获的值作为 ...
- [译] Closures in Lua - Lua中的闭包
原文:(PDF) . 摘要 一等(first-class)函数是一种非常强大的语言结构,并且是函数式语言的基础特性.少数过程式语言由于其基于栈的实现,也支持一等函数.本文讨论了Lua 5.x用于实现一 ...
- lua中的面向对象编程
简单说说Lua中的面向对象 Lua中的table就是一种对象,看以下一段简单的代码: 上述代码会输出tb1 ~= tb2.说明两个具有相同值得对象是两个不同的对象,同时在Lua中table是引用类型的 ...
- [lua] mac上如何编译snapshot(检测Lua中的内存泄露)
最近我们的unity手游频繁闪退,只要进入战斗场景,之后一段时间就会闪退,如果是在unity编辑器中则会报出not enough memory的错误!猜测应该是有内存泄漏: 由于我们使用了tolua, ...
- lua中 table 元表中元方法的重构实现
转载请标明出处http://www.cnblogs.com/zblade/ lua作为游戏的热更新首选的脚本,其优势不再过多的赘述.今天,我主要写一下如何重写lua中的元方法,通过自己的重写来实现对l ...
- Lua中的元表与元方法
[前言] 元表对应的英文是metatable,元方法是metamethod.我们都知道,在C++中,两个类是无法直接相加的,但是,如果你重载了“+”符号,就可以进行类的加法运算.在Lua中也有这个道理 ...
随机推荐
- centos 重新安装python3.6之后 yum 无法使用报错
问题: $ yum File "/usr/bin/yum", line 30 except KeyboardInterrupt, e: ^ SyntaxError: invalid ...
- 关于Lucene分页标准
public IEnumerable<SearchResult> Search(string keyword, string[] fieldNames, int pageSize, int ...
- iOS wkwebview https 加载不受信用的站点
iOS 9.0以上直接设置WKNavigationDelegate代理 func webView(_ webView: WKWebView, didReceive challenge: URLAuth ...
- DDD模式
http://www.cnblogs.com/landeanfen/p/4816706.html https://www.cnblogs.com/malaoko/p/8732552.html
- VS Code基本使用
1. Activity Bar 1.1 Explorer 1.1.1. OPEN EDITORS 所有在右侧编辑区打开的文件列表 1.1.2 {PROJECTNAME} 某个文件夹下的文件树 1.2 ...
- Nginx开发HTTP模块入门
Nginx开发HTTP模块入门 我们以一个最简单的Hello World模块为例,学习Nginx的模块编写.假设我们的模块在nginx配置文件中的指令名称为hello_world,那我们就可以在ngi ...
- java 中 ==
@Test public void fuu2(){ String a = new String("aw"); String b = new String("aw" ...
- Xcode面板的使用
1.调出打包输出管理界面Xcode->Window->Organizer
- React学习笔记一
我是通过script src的方式引入的react的相关文件,本次学习顺序按照<React快速上手开发>一书的顺序学习的, 本篇博客笔记地址:http://note.youdao.com/ ...
- linux防火墙(四)—— SNET和DNET原理及应用
图(1) 一.SNAT策略 应用环境:局域网主机共享单个公网IP地址接入Internet,简单的说就是企业内部局域网想访问外部服务器时,网关型防火墙需要开启的SNAT应用策略. SNAT策略原理:网关 ...