3.5.6. 条件付きステートメントにおけるアレイの使用
連想アレイは
if
ステートメントでも使用することができます。これは、アレイ内の値が特定の条件に一致した場合にサブルーチンを実行するという場合に便利です。以下の例を見てみましょう。
例3.17 vfsreads-print-if-1kb.stp
例3.17「vfsreads-print-if-1kb.stp」 では、全プロセス一覧と各プロセスが VFS read を実行した回数が 3 秒ごとにプリントされます。プロセス名の関連する値が 1024 以上の場合、スクリプト内の
if
ステートメントがこれを変換し、kB
でプリントします。
if([index_expression] in array_name) statement
if([index_expression] in array_name) statement
以下の例を見てみましょう。
例3.18 vfsreads-stop-on-stapio2.stp
if(["stapio"] in reads)
ステートメントは、一意の鍵 stapio
がアレイ reads
に追加されたら、stapio read detected, exiting
をプリントするようにスクリプトに指示します。