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

说明 EdgeScript语法中不允许出现双引号。
语法所含内容 使用规则
注释 以井号(#)开头的当前行后面的内容均为注释。例如,# this is annotation
标识符 标识符使用规则如下:
  • 由字母、数字和下划线(_)组成,以字母和下划线(_)开头,字母区分大小写。
  • 变量名(内置和自定义)和函数名(内置和自定义)均遵循标识符规则。
数据类型 支持的数据类型和使用规则如下:
  • 字符串类型

    需使用单引号括起来,例如'hello, EdgeScript'

  • 数字类型

    采用十进制数字,例如10、-99、1.1。

  • 布尔类型
    • true:真
    • false:假
  • 字典类型
    字典类型采用键值对(Key-Value)的形式存储数据:
    • []:表示空。
    • ['key1', 'key2', 'key3']
      • 1 -> 'key1'
      • 2 -> 'key2'
      • 3 -> 'key3'
    • ['key1' = 'value1', 'key2' = 1000]
      • 'key1' -> 'value1'
      • 'key2' -> 1000
变量
  • 定义:定义即赋值,指赋予某个变量意义,指明变量的作用。
  • 使用:变量分为内置变量和自定义变量,均可通过变量名直接被引用,例如host
    注意
    • 为了强调内置变量属性,可通过$来引用,例如$host。EdgeScript内置变量,请参见EdgeScript内置变量表
    • 自定义变量的名称不能与内置变量相同。
运算符
  • =:赋值运算符
    • 例如:seckey = 'ASDLFJ234dxvf34sDF'
    • 例如:seckeys = ['key1', 'key2']
  • -:负号运算符

    例如:inum = -10

  • 对各数据类型的处理,不再另行支持运算符,均由内置函数支持,请参见内置函数
    支持内置函数的数据类型如下:
语句
  • 条件判断语句
    if condition {   
       ...
    }
    
    if condition1 {   
       if conditon2 {
            ...
       }
    }
    
    if condition {
       ...
    } else {
       ...
    }
  • 语句解释
    • condition可以由字面值、变量、函数调用三种语法元素中的任意一种元素组成。
    • 语句体部分
      • 允许空body。
      • 允许多语句,每行支持一条语句。
    • 支持多层嵌套。
    • 编码风格

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

函数
  • 定义语法
    def 函数名(参数列表) {
       ...
    }
  • 定义说明
    • 参数列表
      • 允许无参数。
      • 允许多个参数,多个参数用英文逗号(,)分隔。
    • 函数体部分
      • 允许空body。
      • 允许多语句,每行支持一条语句。
      • 返回值支持return语句。
    • 编码风格

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

  • 函数调用

    内置函数和自定义函数均通过函数名()进行调用。