strings.coalesce

以下でサポートされています。
strings.coalesce(a, b, c, ...)

説明

この関数は引数を無制限に受け取り、空の文字列と評価されない最初の式の値を返します(「ゼロ以外の値」など)。すべての引数が空の文字列に評価される場合、関数呼び出しは空の文字列を返します。

引数には、リテラル、イベント フィールド、関数呼び出しを使用できます。すべての引数は STRING 型である必要があります。引数がイベント フィールドの場合、属性は同じイベントからのものである必要があります。

パラメータのデータ型

STRING

戻り値の型

STRING

コードサンプル

例 1

次の例には、引数として文字列変数が含まれています。(1)$e.network.email.fromsuspicious@gmail.com であるか、(2)$e.network.email.from が空かつ$e.network.email.tosuspicious@gmail.com の場合、条件は true と評価されます。

"suspicious@gmail.com" = strings.coalesce($e.network.email.from, $e.network.email.to)
例 2

次の例では、3 つ以上の引数を使用して coalesce 関数を呼び出します。この条件は、イベント $e の最初の null 以外の IP アドレスを、リファレンス リスト ip_watchlist の値と比較します。この呼び出しで引数が結合される順序は、ルール条件で引数が列挙されている順序と同じです。

  1. $e.principal.ip が最初に評価されます。
  2. $e.src.ip が評価されます。
  3. $e.target.ip が評価されます。
  4. 最後に、以前の ip フィールドが設定されていない場合、文字列「No IP」がデフォルト値として返されます。
strings.coalesce($e.principal.ip, $e.src.ip, $e.target.ip, "No IP") in %ip_watchlist
例 3

次の例では、イベント $e1 とイベント $e2principal.hostname を結合しようとしています。引数が異なるイベント変数であるため、コンパイラ エラーが返されます。

// returns a compiler error
"test" = strings.coalesce($e1.principal.hostname, $e2.principal.hostname)