本文为您介绍EdgeScript语法中注释、标识符、数据类型、变量、运算符、语句和函数的使用规则。

注释

以#开头的当前行后续内容,均为注释。

例如:# this is annotation

标识符规则

标识符规则如下:
  • 由字母、数字、下划线组成,数字不能开头,区分大小写。
  • 变量名(内置 、自定义)和函数名(内置 、自定义)均遵守标识符规则。

数据类型

数据类型规则如下:
  • 字符串

    字面常量:使用单引号 '' 括起来,例如:'hello, EdgeScript'。

  • 数字

    字面常量:十进制数字,例如:10、-99、1.1。

  • 布尔值

    字面常量:true、false。

  • 字典
    字面常量如下:
    • [] : 空
    • ['key1', 'key2', 100] :
      • 1 -> 'key1'
      • 2 -> 'key2'
      • 3 -> 'key3'
    • ['key1' = 'value1', 'key2' = 1000]
      • 'key1' -> 'value1'
      • 'key2' -> 1000

变量

变量规则如下:
  • 定义

    赋值即定义。

  • 使用
    • 内置和自定义变量,均由变量名进行引用 。
      • 引用内置变量:host
      • 引用自定义变量:seckey
    • 为强调变量的内置属性,可通过$进行引用。

      引用内置变量:$host

    • 自定义变量的名称不能与内置变量同名。

      内置变量,请参见EdgeScript内置变量表

运算符

运算符规则如下:
  • = :赋值运算符
    • 例如:seckey = 'ASDLFJ234dxvf34sDF'
    • 例如:seckeys = ['key1', 'key2']
  • - :负号运算符

    例如:inum = -10

  • 对各数据类型的操作,不再另行支持运算符,均由内置函数支持,请参见EdgeScript内置函数库
    • 各数据类型内置函数支持
      • 字符串类型内置处理函数。
      • 数字类型内置处理函数。
      • 字典类型内置处理函数。
    • 示例
      • sval = concat(sval, 'trail')
      • len(arrvar)

语句

语句规则如下:
  • 条件判断语句
    if condition {   
       ...
    }
    
    if condition1 {   
       if conditon2 {
            ...
       }
    }
    
    if condition {
       ...
    } else {
       ...
    }
  • 语句解释
    • condition可由如下语法元素组成:
      • 字面值
      • 变量
      • 函数调用
    • body部分
      • 允许空body。
      • 允许多语句:一行一条语句。
    • 支持多层嵌套
    • CodingStyle

      语法强制要求左大扩号跟随在if condition之后,同行。

函数

函数语法和定义说明如下:
  • 定义语法
    def 函数名(参数列表) {
       ...
    }
  • 定义说明
    • 形参列表
      • 允许无参。
      • 允许多参:由逗号分隔。
    • 函数体部分
      • 允许空body。
      • 允许多语句:一行一条语句。
      • 返回值:支持return语句。
    • CodingStyle

      语法强制要求左大扩号跟随在def函数名(参数列表) 之后,且同行。

  • 函数调用

    无论内置、自定义函数,均通过函数名()进行调用。

其他

EdgeScript全文不允许出现任何双引号。