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 dievaluasi ke 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 nilai 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 dihitung dalam kondisi aturan:
$e.principal.ipdievaluasi terlebih dahulu.$e.src.ipdievaluasi berikutnya.$e.target.ipdievaluasi berikutnya.- Terakhir, string "No IP" ditampilkan sebagai nilai default jika kolom
ipsebelumnya 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)