strings.coalesce
strings.coalesce(a, b, c, ...)
Deskripsi
Fungsi ini menggunakan argumen dalam jumlah tak terbatas dan menampilkan nilai ekspresi pertama yang tidak dievaluasi ke string kosong (misalnya, "nilai bukan nol"). Jika semua argumen bernilai string kosong, panggilan fungsi akan menampilkan string kosong.
Argumen dapat berupa literal, kolom peristiwa, atau panggilan fungsi. Semua argumen harus berjenis STRING
. Jika ada argumen yang merupakan kolom peristiwa, atribut harus berasal dari peristiwa yang sama.
Jenis data parameter
STRING
Jenis hasil yang ditampilkan
STRING
Contoh kode
Contoh 1
Contoh berikut menyertakan variabel string sebagai argumen. Kondisi dievaluasi sebagai benar jika (1) $e.network.email.from
adalah suspicious@gmail.com
atau (2) $e.network.email.from
kosong dan $e.network.email.to
adalah suspicious@gmail.com
.
"suspicious@gmail.com" = strings.coalesce($e.network.email.from, $e.network.email.to)
Contoh 2
Contoh berikut memanggil fungsi coalesce
dengan lebih dari dua
argumen. Kondisi ini membandingkan alamat IP non-null pertama dari peristiwa $e
dengan nilai dalam daftar referensi ip_watchlist
. Urutan penggabungan argumen dalam panggilan ini sama dengan urutan argumen tersebut
didaftarkan dalam kondisi aturan:
$e.principal.ip
dievaluasi terlebih dahulu.$e.src.ip
dievaluasi berikutnya.$e.target.ip
dievaluasi berikutnya.- Terakhir, string "No IP" ditampilkan sebagai nilai default jika kolom
ip
sebelumnya tidak disetel.
strings.coalesce($e.principal.ip, $e.src.ip, $e.target.ip, "No IP") in %ip_watchlist
Contoh 3
Contoh berikut mencoba menggabungkan principal.hostname
dari peristiwa $e1
dan peristiwa $e2
. Tindakan ini akan menampilkan error compiler karena argumennya adalah
variabel peristiwa yang berbeda.
// returns a compiler error
"test" = strings.coalesce($e1.principal.hostname, $e2.principal.hostname)