目录
前讲讲了ros的基础语法,本章继续讲ros脚本内容,本章主要是讲脚本的数据类型及转交符
一、ros 的脚本类型
1.1 脚本类型列表
ros的脚本类型如下:
类型 | 属性 | 例子 |
---|---|---|
num(number) | 64bit 整型,支持十六进制输入; | #输出十六进制A [hua@MikroTik] > :put 0x0A |
bool(boolean) | 布尔型,真与假 true 和 false ; | # 当条件为值时 [hua@MikroTik] > :put (bool(2>3)) 当条件为假时: |
string | 字符型; | # 连接符之间连接符用点号“.”,还需要用小括号括起来变成整体 [hua@MikroTik] > :put ("hello"."ros") |
IP | IP地址; | # typeof表示查看数据类型 [hua@MikroTik] > :put [typeof 192.168.2.6] |
ip-prefix | ip前缀 | 如 192.168.2.0/24 ,网段/ |
ip6 | ip6地址 | 自己搜索 |
ip6-prefix | ip6前缀 | 自己搜索 |
内部ID | 十六进制,前缀通过‘*’标记。每个菜单目录下都被分配唯一的数字——内部ID; | - |
time | 日期与时间值; | #时间类型 [hua@MikroTik] > :put [ppp active get [find name=p11] value-name=uptime ] |
array | 一个数组有序的值; | [hua@MikroTik] > :put [ppp active print as-value] #查看类型 |
nil | 如果没有值被分配,变量的默认值 | - |
1.2 关于变量类型
ros使用的脚本语言为弱语言,所谓的弱语言即是没有指定数据的类型,而是通过数值判断数据的类型。
如在java中字符串类型为“String 变更名”, 而ros则所有类型都是使用 ":local/global 变量名 值",根本不像java那样直接指定具体的数据类型。
二、转义符
以下转义序列可用于定义字符串中的某些特殊字符:
\" | Insert double quote 插入双引号 |
\\ | Insert backslash 插入反斜杠 |
\n | Insert newline 插入新行 |
\r | Insert carriage return 插入回车 |
\t | Insert horizontal tab 插入水平标签 |
\$ | Output $ character. Otherwise $ is used to link variable. 原样输出$,如果不转义则是取变量值 |
\? | Output ? character. Otherwise ? is used to print "help" in console. 原样输出?号,如果不转义则是帮助 |
\_ | - space 空格 |
\a | - BEL (0x07) 振铃 |
\b | - backspace (0x08) 退格键 |
\f | - form feed (0xFF) 换页符 |
\v | Insert vertical tab 插入垂直制表符 |
\xx | Print character from hex value. Hex number should use capital letters. 从十六进制值打印字符。 十六进制数字应使用大写字母。 |