cocos2d-x-lua基础系列教程五(lua单例)

lua-单例
function newAccount(initlizedBanlance)
 local self = {balance = initlizedBanlance}
 local show = function (v)
     self.balance = self.balance - v
 end 

  local getBanlance = function ()
 return self.balance
 end
 return  {
           show = show
           getBanlance = getBanlance
 }
end 

acc = newAccount (200)
print (acc.getBanlance())
acc.show (100)

print (acc.getBanlance())

--[[
 单例方法展示
]]

function newObject(value )

 return function (action ,v )
 if  action == "get" then
     return value
   elseif action == "set"then
       value = v
   else
      error ("invalid action")
 end
 end
end 

d = newObject (0)
print (d ("get"))
d ("set", 10)
print (d("get"))
时间: 2024-10-11 00:24:52

cocos2d-x-lua基础系列教程五(lua单例)的相关文章

C#微信公众号开发系列教程五(接收事件推送与消息排重)

微信公众号开发系列教程一(调试环境部署) 微信公众号开发系列教程一(调试环境部署续:vs远程调试) C#微信公众号开发系列教程二(新手接入指南) C#微信公众号开发系列教程三(消息体签名及加解密) C#微信公众号开发系列教程四(接收普通消息) C#微信公众号开发系列教程五(接收事件推送与消息排重) 在上一篇的博文中讲到,微信的消息可以大体分为两种类型,一种是包括:文本,语音,图片等的普通消息,另一种就是本篇要将的事件类型.包括:关注/取消关注事件,扫描带参数二维码事件,上报地理位置事件,自定义菜

css基础系列教程:CSS基础语法1

css基础系列教程:CSS基础语法1 作者:www.divcss8.com 我们学习CSS要明白一个重要的问题,CSS主要是解决与实现表现(CSS)与结构(HTML)的分离.我们编写完HTML之后,如何通过CSS对HTML实现控制呢. 1.  行内样式 2.  内嵌样式 3.  链接样式 4.  导入样式 我们这一节课的示例就先从行内样式开始 行内样式:就是直接在HTML上写样式,就是HTML上加属性style=""这种形式.如 <p style="color:#f00

MyBatis系列教程(五)-- 处理存储过程(Handle the Store Procedure)

所需要用到的其他工具或技术: 项目管理工具 : Maven 测试运行工具 : Junit 数据库 : Derby 本节需要用到的有2部分,第一部分是如何在Derby中创建存储过程,第二部分是如何在Mybatis中调用存储过程 一. 在Derby中创建存储过程 1.在Eclipse中创建一个新的普通java项目命名为Test_Store_Procedure 2.在com.freud.practice包下创建一个Class命名为StoreProcedureOperationClass.class p

python基础系列教程——Python3.x标准模块库目录

python基础系列教程——Python3.x标准模块库目录 文本 string:通用字符串操作 re:正则表达式操作 difflib:差异计算工具 textwrap:文本填充 unicodedata:Unicode字符数据库 stringprep:互联网字符串准备工具 readline:GNU按行读取接口 rlcompleter:GNU按行读取的实现函数 二进制数据 struct:将字节解析为打包的二进制数据 codecs:注册表与基类的编解码器 数据类型 datetime:基于日期与时间工具

Python+Django+SAE系列教程14-----使表单更安全

还记得我们上一章提到过的添加页面吗? 添加完以后我们注意一下地址栏: 表单里的数据赤裸裸的显示在了地址栏中,这时候如果我们修改一下内容 刷新,这样数据库里面就会又加入了一条数据,也就是说用户如果知道表单的结果页的连接,就可以不通过我们的表单,任意添加数据了,这样当然不是我们想要的结果. 这样的结果是因为我们在表单中使用了get的方式来传递数据,这时我们应该想到采用post的方法,post比get更加安全,我们来修改一下模板页面,注意这里: 下面是表单模板Classroom_Add.html的代码

Lua 基础简明教程

注释 写一个程序,总是少不了注释的. 在Lua中,你可以使用单行注释和多行注释. 单行注释中,连续两个减号"--"表示注释的开始,一直延续到行末为止.相当于C++语言中的"//". 多行注释中,由"--[["表示注释开始,并且一直延续到"]]"为止.这种注释相当于C语言中的"/**/".在注释当中,"[["和"]]"是可以嵌套的. Lua 编程 经典的"He

史上最详细的Android Studio系列教程五--Gradle命令详解与导入第三方包

Android Studio + Gradle的组合用起来非常方便,很多第三方开源项目也早都迁移到了Studio,为此今天就来介绍下查看.编译并导入第三方开源项目的方法. Sublime + Terminal编译并查看源码 首先来给大家介绍一种简便并且个人最喜欢的一种办法.很多时候我们在GitHub上看到一个不错的开源项目,一般有两种需求,阅读源码和查看运行效果,如果是单纯的查看源码我更喜欢用一些轻量级编辑器,如vim,sublime等,vim不是很熟练,所以个人一种都习惯用sublime来查看

kubernetes系列教程(五)初识核心概念pod

写在前面 前面的系列文章已介绍kubernetes架构,安装,升级和快速入门,读者通过文章的实操已对kubernetes已有初步的认识和理解,从本章开始逐步介绍kubernetes中的基础概念概念和核心概念,基础概念包括:namespace,labels,annotations,pods,volumes等:核心概念包含kubernetes中各种controller,包含以下几种: 应用副本控制器有:Deployments,ReplicaSets,DaemonSets,StatefulSets:

Influx Sql系列教程五:insert 添加数据

接下来开始进入influxdb的curd篇,首先我们看一下如何添加数据,也就是insert的使用姿势 在进入本篇之前,对于不了解什么是retention policy, tag, field的同学,有必要快速过一下这几个基本概念,可以参考文后的系列教程 I. Insert 使用说明 基本语法 insert into <retention policy> measurement,tagKey=tagValue fieldKey=fieldValue timestamp 1. 基本写数据姿势 当m