All Products
Search
Document Center

ApsaraVideo VOD:Fungsi Logis

Last Updated:Jul 11, 2026

Fungsi logis mengevaluasi kondisi dan mengembalikan nilai Boolean. Fungsi yang tersedia meliputi: and, or, not, eq, ne, dan null.

and

Tabel berikut menjelaskan fungsi and.
Item Deskripsi
Sintaks and(arg, ...)
Manfaat
  • Menjalankan operasi AND logis.
  • Mendukung evaluasi short-circuit. Jika salah satu argumen bernilai false, argumen berikutnya tidak dievaluasi.
Parameter Satu atau lebih argumen dengan tipe apa pun.
Nilai kembalian Mengembalikan true jika semua nilai bernilai true dan mengembalikan false jika ada nilai yang bernilai false.
Contoh
if and($arg_mode, eq($arg_mode, 'set_header')) {
   add_rsp_header('USER-DEFINED-1','path1')
}
  • a. Jika permintaan mencakup parameter mode dan nilainya adalah set_header, atur header respons USER-DEFINED-1.
  • b. Jika permintaan tidak mencakup parameter mode, evaluasi short-circuit berlaku dan operator perbandingan eq tidak dijalankan. Header respons USER-DEFINED-1 tidak akan diatur karena fungsi and() mengembalikan nilai false.

or

Tabel berikut menjelaskan fungsi or.
Item Deskripsi
Sintaks or(arg, ...).
Deskripsi
  • Operator OR logis.
  • Mendukung evaluasi short-circuit. Jika suatu argumen bernilai true, argumen berikutnya tidak dievaluasi.
Parameter Satu atau lebih argumen dengan tipe apa pun.
Nilai kembalian Mengembalikan true jika ada argumen yang bernilai true. Jika tidak, mengembalikan false.
Contoh
if and($http_from, or(eq($http_from, 'wap'), eq($http_from, 'comos'))) {
    rewrite(concat('http://example.com.cn/zt_d/we2015/', $http_from), 'enhance_redirect')
}
  • Jika header permintaan from ada dan nilainya adalah wap atau comos, permintaan dialihkan dengan status 302. Skrip membentuk URL tujuan dengan menggabungkan http://example.com.cn/zt_d/we2015/ dan nilai header from.
  • Jika header permintaan from memiliki nilai wap, terjadi evaluasi short-circuit sehingga perbandingan berikutnya dengan comos dilewati. Fungsi or() kemudian mengembalikan true.

not

Tabel berikut menjelaskan fungsi not.
Item Deskripsi
Sintaks not(arg)
Deskripsi Menjalankan operasi NOT logis. undef dan false bernilai false. Semua nilai lain bernilai true.
Parameter Satu argumen dengan tipe apa pun.
Nilai kembalian
  • true
  • false
Contoh
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)
}
  • Jika permintaan tidak mencakup parameter key, permintaan ditolak dan kode status HTTP 403 dikembalikan.
  • Jika permintaan tidak mencakup cookie_user, permintaan ditolak. Kode status HTTP 403 dan badan respons "not cookie user" dikembalikan.
  • Fungsi not(0) mengembalikan nilai false.
  • Fungsi not(false) mengembalikan nilai true.

eq

Tabel berikut menjelaskan fungsi eq.
Item Deskripsi
Sintaks eq(arg1, arg2)
Deskripsi Memeriksa apakah dua nilai sama.
Parameter
  • arg1: nilai pertama untuk dibandingkan. Tipe data: tipe apa pun.
  • arg2: nilai kedua untuk dibandingkan. Tipe data: sama dengan parameter arg1.
Nilai kembalian Mengembalikan true jika kedua nilai sama dan mengembalikan false jika tidak sama.
Contoh
key1 = 'value1'
key2 = 'value2'
if and($arg_k1, $arg_k2, eq(key1, $arg_k1), ne(key2, $arg_k2)) {
    say('match condition')
}
  • a. Jika permintaan mencakup parameter k1 dan k2, operasi perbandingan dilakukan.
  • b. Jika permintaan tidak mencakup parameter k1 atau k2, evaluasi short-circuit berlaku dan operasi perbandingan tidak dilakukan.
  • eq: c. eq: apakah nilai parameter k1 sama dengan value1.
  • ne: d. ne: apakah nilai parameter k2 tidak sama dengan value2.
  • e. Respons yang berisi badan respons "match condition" dikembalikan hanya jika kondisi berikut terpenuhi: permintaan mencakup parameter k1 dan k2, nilai parameter k1 sama dengan value1, dan nilai parameter k2 tidak sama dengan value2.

ne

Tabel berikut menjelaskan fungsi ne.
Item Deskripsi
Sintaks ne(arg1, arg2)
Deskripsi Memeriksa apakah dua nilai tidak sama.
Parameter
  • arg1: nilai pertama untuk dibandingkan. Tipe data: tipe apa pun.
  • arg2: nilai kedua untuk dibandingkan. Tipe data: sama dengan parameter arg1.
Nilai kembalian Mengembalikan true jika kedua nilai tidak sama dan mengembalikan false jika sama.
Contoh
key1 = 'value1'
key2 = 'value2'
if and($arg_k1, $arg_k2, eq(key1, $arg_k1), ne(key2, $arg_k2)) {
    say('match condition')
}
  • a. Jika permintaan mencakup parameter k1 dan k2, operasi perbandingan dilakukan.
  • b. Jika permintaan tidak mencakup parameter k1 atau k2, evaluasi short-circuit berlaku dan operasi perbandingan tidak dilakukan.
  • eq: c. eq: apakah nilai parameter k1 sama dengan value1.
  • ne: d. ne: apakah nilai parameter k2 tidak sama dengan value2.
  • e. Respons yang berisi badan respons "match condition" dikembalikan hanya jika kondisi berikut terpenuhi: permintaan mencakup parameter k1 dan k2, nilai parameter k1 sama dengan value1, dan nilai parameter k2 tidak sama dengan value2.

null

Tabel berikut menjelaskan fungsi null.
Item Deskripsi
Sintaks null(v)
Manfaat Memeriksa apakah tipe data telah ditentukan untuk EdgeScript (ES).
Diajukan v: parameter yang diberikan. Tipe data: array, dictionary, atau string. Nilai false dikembalikan untuk tipe data lainnya.
Nilai kembalian Tipe data: Boolean.
  • Nilai true dikembalikan jika nilai v berupa array atau dictionary.
  • Nilai true dikembalikan jika nilai v berupa string kosong.
  • Nilai false dikembalikan jika v berupa tipe data lainnya.
Contoh
d = []
say(null(d))
set(d, 1, 'v1')
say(null(d))
say(tostring(null('x')))
say(tostring(null('')))
Output:
true
false
false
true