博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第一章 Scorpio-CSharp基础语法介绍 变量篇
阅读量:5883 次
发布时间:2019-06-19

本文共 1749 字,大约阅读时间需要 5 分钟。

1. 申请变量时加上 var 证明此变量的作用域为当前作用域,不加var的一律认为是全局变量

2. 预留全局变量

  • _G 全局table,_G保存了所有全局变量
  • _VERSION 脚本引擎版本号,暂时全部为master
  • _SCRIPT 脚本引擎对象

3. 脚本内所有数据类型分别为 null bool number string function array table userdata,下面为各类型的申请

  • null 类型

    var a = null

  • bool 类型

    var a = true

    var a = false

  • number 类型

    var a = 0

    var a = 0.1

    上述不加后缀的number类型申请脚本会默认保存成double类型

    var a = 0L

    如果在最后加上L类型声明变量为long类型

    var a = 0xffff

    如果是16进制数字会保存成long类型

  • string 类型

    var a = "hello world ' hello world"

    var a = 'hello world " hello world'

    申请string类型是 双引号和单引号都可以使用,使用双引号时 内部的单引号不转义,使用单引号时,内部的双引号不转义

    var a = @"hello world

      hello world"

    string类型还可以使用@申请,加@的时候里面的符号都不转义,跟c#的@""用法一样,@符号双引号和单引号都可以使用

  • function 类型

    var a = function() { print("hello world") }

    function hello() { print("hello world") }

    跟其他脚本语言用法一样

  • array 类型

    var a = [100,200,300,400]    //申请数组

           print(a[0])                //获取数组
    print(array.count(a))    //获取数组长度
    a[10] = 5                //如果索引大于数组长度 数组长度会自动扩充
    print(array.count(a))
    print(a[20])            //获取数组索引大于数组长度 数组长度不会自动扩充

    使用中括号声明array类型,相当于c#的List类型,取值时使用 a[0] ,索引从0开始,内部变量可以为任何变量

    array类型的操作库请查看源码的 LibraryArray.cs 文件

  • table 类型

    

a = {
    1 = 200,    //Key可以直接写数字     a = 100,    //Key也可以写名字     //等同于 d = 300     "d" = 300,    //或者字符串     //等同于 e = 300     'e' = 400,     func1 = function () {
        //不能使用this 这种声明算静态函数         print(this)         print("b")     },     //可以使用this 算内部函数     function func2() {
        print("this " + this.a)     } } //调用函数 a.func1() a.func2() //数字只能使用 [] 访问 print(a[1]) var c = "d" //如果是变量可以使用 [] 访问 print(a[c])

  使用大括号声明table类型,相当于c#的Dictionary类型

  table类型的操作库请查看源码的 ScriptTable.cs 文件

  • userdata 类型

  userdata保存c#里面所有的变量,具体介绍以后的文章会讲

转载于:https://www.cnblogs.com/qingfeng346/p/5178441.html

你可能感兴趣的文章
质数因子
查看>>
Spring源码浅析之事务(四)
查看>>
[转载] Live Writer 配置写 CSDN、BlogBus、cnBlogs、163、sina 博客
查看>>
SQL:连表查询
查看>>
MySQL日期函数、时间函数总结(MySQL 5.X)
查看>>
c语言用尾插法新建链表和输出建好的链表
查看>>
高性能 Oracle JDBC 编程
查看>>
java 中ResultSet可以获取的数据类型及返回值类型列表
查看>>
ubuntu 13 安装SH程序
查看>>
支付宝升级延时到账功能
查看>>
ghost后只剩下一个盘的数据寻回方法
查看>>
输入输出练习
查看>>
Git commit message和工作流规范
查看>>
java面试。答案源于网上
查看>>
yii中取得CActiveDataProvider的分页信息
查看>>
我的大学
查看>>
Google翻译接口收费啦
查看>>
Debian+Apache2服务器
查看>>
MySQL库和表的操作
查看>>
shell编程:编译器、解释器 变量
查看>>