详情页标题前

阿里云负载均衡条件判断相关函数-云淘科技

详情页1

本文为您介绍条件判断相关函数的语法、说明、参数、返回值和示例。

and | or | not | eq | ne | null

and

项目 描述
语法 and(arg, ...)
说明
  • 逻辑与运算符。
  • 支持短路语义,即某个参数为假时,后续参数不再进行求值。
参数 一个或多个参数,参数类型不限。
返回值 全部参数为真时返回true,任一参数为假时返回false
示例
if and($arg_mode, eq($arg_mode, 'set_header')) {
    add_rsp_header('USER-DEFINED-1','path1')
}
  • 请求携带mode参数且mode参数等于set_header时,设置响应头USER-DEFINED-1
  • 当请求不携带mode参数,短路语义生效,不再执行后续的eq比较;由于and()为假,不会设置响应头USER-DEFINED-1

or

项目 描述
语法 or(arg, ...)
说明
  • 逻辑或运算符。
  • 支持短路语义,即某个参数为真时,后续参数不再进行求值。
参数 一个或多个参数,参数类型不限。
返回值 任一参数为真时返回true,全部参数为假时返回false
示例
if and($http_from, or(eq($http_from, 'wap'), eq($http_from, 'comos'))) {
    rewrite(concat('http://tech.com.cn/zt_d/we2015/', $http_from), 'enhance_redirect')
}
  • 当请求头from存在,且其值为[wap|comos]时,302重写向至http://tech.com.cn/zt_d/we2015/[wap|comos]
  • 当请求头from存在,且其值为wap时,短路语义生效,不再执行后续eq comos比较,同时or()返回true

not

项目 描述
语法 not(arg)
说明 逻辑运算符取反。参数undeffalse为假,其余为真。
参数 仅接受1个参数,参数类型不限。
返回值
  • true
  • false
示例
if not($arg_key) {
    exit(403)
}
if not($cookie_user) {
    exit(403, 'not cookie user')
}
if not(0) {
    exit(403)
}
if not(false) {
    exit(403)
}
  • 如果请求未携带参数key时,403拒绝请求。
  • 当请求未携带cookie user时,403拒绝请求,响应body为'not cookie user'
  • not(0)的结果为false
  • not(false)的结果为true

eq

项目 描述
语法 eq(arg1, arg2)
说明 比较2个参数是否相等。
参数
  • arg1:任意类型。
  • arg2:应与arg1类型相同。
返回值 参数相等返回true,否则返回false
示例
key1 = 'value1'
key2 = 'value2'
if and($arg_k1, $arg_k2, eq(key1, $arg_k1), ne(key2, $arg_k2)) {
    say('match condition')
}
  • 请求参数k1k2都存在时,执行后续的比较操作。
  • 请求参数k1k2不存在时,短路语义生效,不再执行后续的比较操作。
  • eq: 请求参数k1的值是否等于value1
  • ne: 请求参数k2的值不等于value2
  • 当请求参数k1k2均存在,且k1等于value1k2不等于value2时,输出响应体match condition

ne

项目 描述
语法 ne(arg1, arg2)
说明 比较2个参数是否不等。
参数
  • arg1:任意类型。
  • arg2:应与arg1类型相同。
返回值 参数不等返回true,否则返回false
示例
key1 = 'value1'
key2 = 'value2'
if and($arg_k1, $arg_k2, eq(key1, $arg_k1), ne(key2, $arg_k2)) {
    say('match condition')
}
  • 请求参数k1k2都存在时,执行后续的比较操作。
  • 请求参数k1k2不存在时,短路语义生效,不再执行后续的比较操作。
  • eq: 请求参数k1的值是否等于value1
  • ne: 请求参数k2的值不等于value2
  • 当请求参数k1k2均存在,且k1等于value1k2不等于value2时,输出响应体match condition

null

项目 描述
语法 null(v)
说明 判断AScript数据类型是否为空。
参数 v:需要传入的参数,类型为数组、字典和字符串,其他类型均返回false。
返回值 返回值为bool类型。

  • v是数组和字典,如果为空,返回true。
  • v是字符串,如果值为空串,返回true。
  • 其他情况均返回false。
示例
d = []
say(null(d))
set(d, 1, 'v1')
say(null(d))
say(tostring(null('x')))
say(tostring(null('')))

输出:

true
false
false
true

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/169155.html

(0)
上一篇 2023年12月10日
下一篇 2023年12月10日
详情页2

相关推荐

  • 阿里云日志服务SLSHyperLogLog函数-云淘科技

    HyperLogLog函数为近似聚合函数,类似于approx_distinct函数。当计算的数据量非常大时,使用HyperLogLog函数可快速返回估算结果。本文介绍HyperLogLog函数的基本语法以及示例。 日志服务支持如下HyperLogLog函数。 注意 在日志服务分析语句中,表示字符串的字符必须使用单引号(”)包裹,无符号包裹或被双引…

    2023年12月10日
  • 阿里云ECS云服务器ModifyInstanceMetadataOptions-云淘科技

    调用ModifyInstanceMetadataOptions修改一台实例的元数据信息。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 请求参数 名称 类型 是否必选 示例值 描述 Action String 是 ModifyInstanceMe…

    阿里云服务器 2023年12月9日
  • 阿里云ECS云服务器CreateNetworkInterface-云淘科技

    调用CreateNetworkInterface创建一个弹性网卡(ENI)。 接口说明 调用该接口时,请注意: 该接口为同步接口,新创建的弹性网卡为可用(Available)状态,可以直接进行附加操作。 若创建接口返回结果中NetworkInterfaceId为空,请再次尝试创建弹性网卡。 一个弹性网卡只能附加到一台专有网络的实例。 弹性网卡重新附加到另一台…

    阿里云服务器 2023年12月9日
  • 阿里云日志服务SLS字符串函数-云淘科技

    本文介绍字符串函数的基本语法和示例。 日志服务支持如下字符串函数。 重要 在日志服务分析语句中,表示字符串的字符必须使用单引号(”)包裹,无符号包裹或被双引号(””)包裹的字符表示字段名或列名。例如:’status’表示字符串status,status或”status”表示日…

    阿里云日志服务SLS 2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云RDS数据库使用控制台设置参数-云淘科技

    您可以使用控制台或者API查看和修改部分参数的值,以及查询参数修改历史。 前提条件 仅RDS SQL Server 2008 R2(本地SSD盘)实例支持使用该功能。 注意事项 为保证实例的稳定,控制台仅开放部分参数的修改。 修改参数值时请参见控制台上可修改参数页面中的可修改参数列。 SQL Server 2012及以上版本的实例只能通过SQL命令设置实例参…

    阿里云数据库 2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。