hualinux ros 1.19:RouterOS脚本(九):函数

目录

一、关于函数的说明

二、ros中的函数

2.1 ros函数说明

2.2 例子


学脚本一般都要求会函数,适合使用函数可以提高效率。

一、关于函数的说明

当我们不断地用到 用一条或几条语句时,为了能让它复用,所以我们一般建议写成函数的方式,即做成一个“小工具”,当下次用到的时候,直接使用就行,不用每次都从头再写。

这样的好处是:

  • 提高程序开发的效率
  • 提高代码的重用性
  • 方便维护:你想下如果有上百处都使用那个语句,如果要修改一下,那得修改上百处,但是你用函数的话,你只需要修改一处其它的会跟着改变。
  • 变得更简短而清晰

PS:我们还会把大部分功能相同,但是可能里面内容做了修改 ,如果可以的话也把它提取函数,以传参的方式。

二、ros中的函数

2.1 ros函数说明

ros脚本语言不允许直接创建函数,但是您可以使用:parse命令作为解决方法。(v6.2版本开始不推荐这种,所以不讲了,现在都v6.47版本了)

从v6.2开始,添加了新语法,以更轻松地定义此类功能甚至传递参数。 也可以使用:return命令返回功能值。

格式一般为:

# 无参函数定义,如果是全局的那个整个ros都生效,
# 如果是局部函数,那么只有局部有效,和在前面讲的变量是一样的
<:global或:local> <函数名>  do={ 语句 }

# 无参 函数调用格式
$函数名


# 有参数函数定义,<>表示必填写,[]表示可选 /表示或
<:global或:local> <函数名>  do={ \
:return <可含表达式或值>}

# 有参函数调用
$函数名 变量名1=值1 变更名2=值2  变更名n=值n

ros中所谓的有参函数可以粗暴地理解成,函数含有return的,里面变量取值“$变量名”就是所谓的“参数”。 

PS:其实学过编程的都知道,return就是表示调用这个函数,会有一个结果返回,如果没有return则不返回任何结果。

return返回值会很有用,尤其在我们使用ros api操作的时候,返回东西要用return,如果用put命令是返回不了任何东西的,ros api我将会在后面讲基于python的操作。

2.2 例子

我们经常要用到查询某个用户是在线时间,比如查p11

#查看p11
:put [/ppp active get [find name=p11] value-name=uptime ]

我们有可能以后会查任何一个用户,比如p12,可以写成

:put [/ppp active get [find name=p12] value-name=uptime ]

你会发现做了名字不同,功能是相似的的,所以我们可以写成有参的,我们把用户部分以变量的方式传入即可,我这里我直接用命令行写了

[hua@MikroTik] > :global getUserUptime do={ return [/ppp active get [find name=$user] value-name=uptime] }
[hua@MikroTik] > :put [$getUserUptime user=p11]                                                           
03:19:07

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值