lua基础知识

¥开启¥

【基础-循环之while循环】

〖2017-08-15 23:22:33〗

《当天条件为真时(true)时€while(true) do€print("将会永远循环下去")€end€a=100€while(a=100) do€print("将会永远循环下去")€end€€就是这么简单€》

『小菜』

〔Lua基础知识〕

【基础-循环之for循环】

〖2017-08-15 23:23:09〗

《lua有两种循环(在我的认知里)

这篇讲for循环,我们常用的€看个例子€for n=1,100 do€print(1)€end€他将会打印100遍1€€就是这么简单€》

『小菜』

〔Lua基础知识〕

【基础-赋值语句】

〖2017-08-15 23:25:12〗

《a="我是".."帅哥"€这句等于€a="我是帅哥"€€也可以同时对多个赋值例如€a,b="这是a","这是b"€这句等于€a="这是a"€b="这是b"€这不是全部,但都是我们会经常用到的€》

『小菜』

〔Lua基础知识〕

【基础-变量】

〖2017-08-15 23:26:47〗

《lua的变量默认全局变量€例如 a=5€这就是一个全局变量,哪怕是在函数封装等€申明一个局部变量,加个local€€例如在一个函数封装里(这里你不需要懂,以后会讲)€€局部变量=function()€local a=5€print(a)€end€print(a)€€这就是一个局部变量,第一个会打印出5€第二个就是nil€因为局部变量,以一个代码块的end为结束》

『小菜』

〔Lua基础知识〕

【基础-布尔值数据类型详解】

〖2017-08-15 23:29:25〗

《这个东西只有两种€true真 这里指,某种条件成立€false假  这里指,某种条件不成立€就像做算式一样€5不可能等于3€我们用lua的语法来打印一下€€print(5=3)€屏幕会返回false€因为5根本不可能会等于3!!!€€反之我们来打印一下print(3=3)€返回什么,不用说了吧€》

『小菜』

〔Lua基础知识〕

【基础-nill数据类型详解】

〖2017-08-15 23:30:10〗

《nil就是空€空就是没有€例如我们凭空打印一个a  €print(a)€屏幕会提示nil€因为这里的a根本不存在€nil还可以销毁一个变量€例如 €a=5€a=nil€print(a)屏幕会提示nil€因为a已经被销毁了,已经没有了》

『小菜』

〔Lua基础知识〕

【基础-number数据类型详解】

〖2017-08-15 23:51:02〗

《lua里面只有一种number类型€并没有java中的float的类型€€例如€€a=5€这就是一个number赋值€基础-常用数据类型€布尔值  只有两种€true    false€€数值  number€print(5)--提示  5€字符串 string

print("5")--提示 5  这里的5跟上面的5不一样,字符串不能跟数值比较!!!(具体下节讲)€€空值 nil€€print(a)--打印一个没有任何值的赋值,会提示nil€€这就是lua几种常见的数据类型€》

『小菜』

〔Lua基础知识〕

【基础-关键词】

〖2017-08-15:23:33〗

《关键词的意思就是€你不能用这些词语来赋值变量了€以下是lua所有关键词€€and      break     do      else    elseif  end      false€for      function  if      in      local    nil       not

or       repeat    return then    true    until    while €》

『小菜』

〔Lua基础知识〕

【基础-代码注释】

〖2017-08-15 23:34:45〗

《id.onClick=function()€€end€––以end结束》

『小菜』

〔Lua基础知识〕

【基础-点击事件】

〖2017:23:56:59〗

《id.onClick=function()€––事件

end€––以end结束》

『小菜』

〔Lua基础知识〕

【 基础-print打印】

〖201-08-15 23:37〗

《pprint("hello word")––完整版€print"hello word"––简化版€a="hello word"––一个变量€print(a)––打印€》

『小菜』

〔Lua基础知识〕

【打印】

〖2017-08-16 17:37:56〗

《打印€print"Hello World!"€print("Hello World")》

『小菜』

〔Lua基础知识〕

【注释】

〖2017-08-16 17:38:12〗

《注释€单行注释  --€多行注释  --[[]]》

『小菜』

〔Lua基础知识〕

【字符串】

〖2017-08-16 17:37:43〗

《字符串€a="String"€a=[[String]]€a=[===[String]===]》

『小菜』

〔Lua基础知识〕

【赋值】

〖2017-08-16 17:40:50〗

《赋值€a="Hello World"€€--lua支持多重赋值€a,b="String a","String b"€€--交换值€a,b="String a","String b"€a,b=b,a》

『小菜』

〔Lua基础知识〕

【类型简介】

〖2017-08-16 17:41:38〗

《类型简介€Lua 存在的数据类型包括:€1.nil€此类型只有一个值 nil。用于表示“空”值。全局变量默认为 nil,删除一个已经赋值的全局变量只需要将其赋值为 nil(对比JavaScript,赋值 null 并不能完全删除对象的属性,属性还存在,值为 null)€€2.boolean€此类型有两个值 true 和 false。在 Lua 中,false 和 nil 都表示条件假,其他值都表示条件真(区别于 C/C++ 等语言的是,0 是真)€€3.number€双精浮点数(IEEE 754 标准),Lua 没有整数类型€€4.string€你可以保存任意的二进制数据到字符串中(包括 0)。字符串中的字符是不可以改变的(需要改变时,你只能创建一个新的字符串)。获取字符串的长度,可以使用 # 操作符(长度操作符)。例如:print(#”hello”)。字符串可以使用单引号,也可以使用双引号包裹,对于多行的字符串还可以使用 [[ 和 ]] 包裹。字符串中可以使用转义字符,例如 \n \r 等。使用 [[ 和 ]] 包裹的字符串中的转义字符不会被转义€€5.userdata€用于保存任意的 C 数据。userdata 只能支持赋值操作和比较测试€€6.function€函数是第一类值(first-class value),我们能够像使用其他变量一样的使用函数(函数能够保存在变量中,可以作为参数传递给函数)€€7.thread€区别于我们常常说的系统级线程€€8.table€被实现为关联数组(associative arrays),可以通过任何值来进行索引(nil 除外)。和全局变量一样,table 中未赋值的域为 nil,删除一个域只需要将其赋值为 nil(实际上,全局变量就是被放置在一个 table 中)€€type 函数用于返回值的类型:€print(type("Hello World")) --> string€print(type(10.4*3)) -->number€print(type(print))  ->function€print(type(type(X)))  --> string€》

『小菜』

〔Lua基础知识〕

【if(判断语句)】

〖2017-08-16 17:44:52〗

《if(判断语句)€--判断值是否为真€a=true€if a then€print("真")€else€print("假")€end€--比较值是否相同€a=true€b=false€if a==b then€print("真")€else€print("假")€end》

『小菜』

〔Lua基础知识〕

【function(函数)】

〖2017-08-16 17:46:16〗

《function(函数)€函数有两个用途€1.完成指定功能,函数作为调用语句使用€2.计算并返回值,函数作为赋值语句的表达式使用€€€实例1:€function 读取文件(路径)€文件内容=io.open(路径):read("*a")€return 文件内容--return用来返回值€end€€€€实例2:€require "import"€import "android.widget.EditText"€import "android.widget.LinearLayout"€function 编辑框()€return EditText(activity)€end€layout={€LinearLayout;€id="父布局",€{编辑框,€id="edit",€text="文本",€},€};€activity.setContentView(loadlayout(layout))€--把这段代码放到调试里面去测试€》

『小菜』

〔Lua基础知识〕

【 基础代码】

〖2017-08-16 17:49:32〗

《基础代码€activity.setTitle('Title')--设置窗口标题€activity.setContentView(loadlayout(layout))--设置窗口视图€activity.setTheme(android.R.style.Theme_DeviceDefault_Light)--设置主题€activity.getWidth()--获取屏幕宽€activity.getHeight()--获取屏幕高€activity.newActivity("main")--跳转页面€activity.finish()--关闭当前页面€activity.recreate()--重构activity€os.exit()--结束程序€tostring()--转换字符串€tonumber()--转换数字€tointeger()--转换整数€--线程€--thread€thread(function()print"线程"end)€--task€task(function()print"线程"end)€》

『小菜』

〔Lua基础知识〕

【While循环】

〖2017-08-16 17:51:49〗

《While循环€--只要条件为真便会一直循环下去€€--输出1到10€a=0€while a~=10 do€a=a+1€print(a)€end€€--输出10到1€a=11€while a~=1 do€a=a-1€print(a)€end€€--打印数组a中的所有值€shuzu={"a","b","c","d"}€a=0€while a~=#shuzu do€a=a+1€print(shuzu[a])€end€》

『小菜』

〔Lua基础知识〕

【for循环】

〖2017-08-16 17:53:24〗

《For循环€--给定条件进行循环€€--输出从1到10€for i=1,10 do€print(i)€end€€--输出从10到1€for i=10,1,-1 do€print(i)€end€€--打印数组a中所有的值€a={"a","b","c","d"}€for index,content in pairs(a) do€print(content)€end€》

『小菜』

〔Lua基础知识〕

【比较操作符】

〖2017-08-16 17:54:10〗

《比较操作符€--Lua 支持下列比较操作符:€€==: 等于€~=: 不等于€<: 小于€>: 大于€<=: 小于等于€>=: 大于等于€这些操作的结果不是 false就是 true。€》

『小菜』

〔Lua基础知识〕

【Table(数组)】

〖2017-08-16 17:55:23〗

《Table(数组)€table是lua唯一的数据结构。€table是lua中最重要的数据类型。 €table类似于 python 中的字典。€table只能通过构造式来创建。其他语言提供的其他数据结构如array、list等等,lua都是通过table来实现的。€table非常实用,可以用在不同的情景下。最常用的方式就是把table当成其他语言的数组。€€实例1:€mytable = {}€for index = 1, 100 do€mytable[index] = math.random(1,1000)€end€€说明:€1.数组不必事先定义大小,可动态增长。€2.创建包含100个元素的table,每个元素随机赋1-1000之间的值。€3.可以通过mytable[x]访问任意元素,x表示索引。€4.索引从1开始。€€实例2:€tab = { a = 10, b = 20, c = 30, d = 'www.jb51.net' }€print(tab["a"]) €€说明:€1.table 中的每项要求是 key = value 的形式。€2.key 只能是字符串, 这里的 a, b, c, d 都是字符串,但是不能加上引号。€3.通过 key 来访问 table 的值,这时候, a 必须加上引号。€€实例3:€tab = { 10, s = 'abc', 11, 12, 13 } €print(tab[1]) = 10€print(tab[2]) = 11€print(tab[3]) = 12€print(tab[4]) = 13€说明:€1.数标从1开始。€2.省略key,会自动以1开始编号,并跳过设置过的key。€》

『小菜』

〔Lua基础知识〕

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350

推荐阅读更多精彩内容