ITPub博客

首页 > 应用开发 > C/C++ > C#与Lua语言学习对比一

C#与Lua语言学习对比一

原创 C/C++ 作者:20170405 时间:2020-07-17 15:48:00 0 删除 编辑

  Lua的语法基础

  Lua语言 作为一种编程语言,与C#有很大的差异。所以在使用之前,先通过对比的形式来明确Lua语言有哪些特点。

  语言特性

  首先,Lua语言和C#在语言特性上就有明显的不同:

  语言类型 :Lua是解析型语言,这种代码再执行时会按照从上到下的顺序依次执行。而C#是编译型语言,编写完成后会生成特殊文件,然后按照调用关系去调用函数;

  数据类型:Lua是弱类型语言,变量声明时无需指定数据类型。C#是强类型语言,定义数据必须指定数据类型 ;

  书写格式

  函数关系:Lua中的函数没有明确的归属类,独立存在。C#中的函数都属于类。

  结尾不同:C#代码每行必须以; 结尾,Lua代码可以以;结尾,也可以没有结尾处的标点符号。

  变量书写格式:C#声明变量时格式为 数据类型 标识符 = 值;Lua语言没有数据类型的指定。

  Lua的基本数据类型

  数值类型:Lua的数值类型,只有number,C#有int,float,double;

  布尔类型:C#为bool,而Lua为boolean;

  字符串类型:Lua的字符串和C#的字符串类型都为string,并且转义字符也基本相同。但Lua的字符串可以被" “或’ ‘或[[ ]]包裹,’ '和” "包含的字符串基本一样(因’ ’ 包含内容也为字符串,所以Lua没有char类型),而被[[ ]]包裹的字符串相当于在C#的字符串前加@,从而原格式输出。

  Lua的运算符  

  相加:C#中加号表示2数或2字符串相加,但在Lua中用"…"(2个点)。

  复合运算符:Lua中不支持复合运算符和++、- -2个特殊运算符。

  形式不同的运算符:Lua中不等于为~=,C#为!=。Lua中的逻辑运算符and,or,not,C#中为&&,||,!。

  Lua中的分支结构  

  Lua中的分支结构中没有{},使用then…end…代替。毎有一个if(布尔表达式)后面都会跟着一个then,在代码块写完后,换行接end结尾。而且,Lua中没有switch…case…语句。

  Lua中的循环结构

  Lua中的循环结构也没有{},使用do…end…代替。

  Lua的for循环书写格式为for 初值表达式,终值表达式(包含等于),迭代表达式。

  Lua中没有do…while()…循环语句,但有与其相似的循环语句,为repeat…until()…语句,与do…while()…不同,当条件表达式为真时,结束循环,否则一直循环。Lua中跳出循环关键字没有continue,只有break。

  Lua的函数结构

  C#中的函数返回值的地方有function代替,结尾处依旧使用end结尾。同样,在Lua的函数结构中没有{}存在。

  因Lua为解析性语言,执行顺序从上到下。所以Lua中的函数调用必须写在函数的声明之后。而且函数是否有返回值,取决于是否包含return。

  Lua中没有委托的概念,函数可以直接作为参数传递。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69979119/viewspace-2705241/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 初识c++
请登录后发表评论 登录
全部评论

注册时间:2020-07-14

  • 博文量
    63
  • 访问量
    30151