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:

  1. $e.principal.ip dievaluasi terlebih dahulu.
  2. $e.src.ip dievaluasi berikutnya.
  3. $e.target.ip dievaluasi berikutnya.
  4. 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)