| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5870 人关注过本帖
标题:基础第一部分
只看楼主 加入收藏
psh201109
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-12-8
收藏
 问题点数:0 回复次数:1 
基础第一部分
——————————————————————————————————————————————————————————————————————————————
了解编程语言的人很容易看懂lua的语句和代码下面是第一部分的基础
2.lua的类型和值:
⑴nil 全局变量没赋值以前编译器默认的值,要删除一个变量就给其赋nil;
⑵Booleans (false, true)Lua中编译器默认false和nil为假,其他都为真包括0和空串!
⑶Numbers 表示实数,Lua中无整数numbers可以处理任何长度整数不必担心误差!
⑷Strings 类似c中的char,Lua自动给该类型的数据分配和释放内存,可以用单引号或双引号表示字符窜(最好就使用一种)
注:Lua会自动在numbers和strings之间转化一般用算术运符连接
例子:
        print(“10“ + 1)  ――> 11
可以显式地将数字转化成字符 tostring()函数
        Print(tostring(10)==“10“)  ――> true
⑸function, userdata, threads 在以后用到的时候再强调!学习最好的方法是使用
――――――――――――――――――――――――――――――――――――——————————————————————————————————————
3表达式
(1)算术运算符:1)二元 + - * / ^ (加减乘除幂)
                 2)一元运算符 -(负值)
     说明:/ lua中的除和C语言中不同 含有小数部分就是算术中的除!因为操作数都是实数!

(2)关系运算符:仅有一个和C语言不同就是 ~=  相当于C语言中的  !=
     Lua中两个值的类型不同,Lua就认为两者不同,nil只与自己相等,简而言之就是:当且仅当两者表示同一个对象时相等。

(3)逻辑运算符
      and   or    not
     上面已经强调了只有nil和false为假,其他都是真,
     实用技巧 : y = y or x (如果y为假的话,就把x赋值给y)
     And 优先于 or

(4) 连接运算符
     “..” ――两个点 使用时前后都要加空格

      以上运算符的优先级:
     ^ ―> not ―> * / ―> + - ―> .. ―> 逻辑运算符 ―> and―> or
     ^ 和 .. 是右结合的,其他都是左结合
——————————————————————————————————————————————————————————————————————————————
4基本语法
    1)    赋值
       A = 34 .. 35
       print(A)    ――>  3435
      变量个数大于值的个数   多余的变量默认赋值nil
      变量个数小于值的个数   多余的值自动被忽略
      A , B , C = 12, 34
      Print(A, B, C)  ――> 1234nil
      多值赋值用来交换变量如下
      A, B = B, A
      Print(A, B) ――> 3412
      还可以接受函数的返回值
      A , B = function()--function()返回两个值

   2)局部变量与代码块
     Local 修饰局部变量,只能在被声明的代码块内有效(代码块指的是一个控制结构内,一个函数体,或者是一个Chuck)
     好处:(1).避免命名冲突
       (2).访问局部变量的速度比全局变量要快

   3)控制结构语句
       控制结构语句的条件表达式结果可以是任何值
       格式如下:
       if condtions then
           then-part
       end;

       if condtions then
           then-part
       else
       else-part
       end;

        if condtions then
        tnen-part
        elseif condtions then
        elseif-part
        …….
        else
                  else-part
        end;

       while condtions do
          Statements;
        end;

      repeat
    Statements;
      until conditions;

    注:for有两类
   (1)数值类默认step是1
   (2)控制变量时局部变量,如果需要保存必须在循环中保存
   (3)循环中不要改变控制变量的值
   (4)范式for返回遍历迭代式函数的每一个值也有(2的前半部分,3)的性质。
    Array = {1, 2, 3, 4, 5, 6, 7,}
    For i, v  int ipair(Array) do print(v) end ――> (1 2 3 4 5 6 7 )’
  4) break 和 return 使用方法和C语言中类似 位置Chuck的最后一句,end,else,until之前。
——————————————————————————————————————————————————————————————————————————————
5. 函数 用途: 1)完成指定的任务 2)计算并返回值
    语法:function  func_name (arguments-list)
            Statements-list;
          end;
    实例:function add(a , b)
             local x;
         x = math.cos(a) + math.sin(b)
         return x
         end
         print(add(0,0))

         Lua使用的函数可以是Lua编写的也可以是其他语言编写的。Lua函数的实参和形参匹配和赋值语句类似,多的部分被忽略,少的部分用nil补足!使用方法和C语言相同
         Function f(a, b) return a or b end
         CALL PARAMETERS
         F(3)    -------------- a = 3 , b = nil
         F(3, 4 ,5) ----------------- a = 3, b = 4 (5 省略)
搜索更多相关主题的帖子: 编译器 其他 false numbers 编程语言 
2012-01-07 15:04
柔情的霸主
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-11-7
收藏
得分:0 
不错!
2012-11-07 14:34
快速回复:基础第一部分
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017750 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved