Iteration, Foreach - Red Hat ENTERPRISE LINUX 5.4 - SYSTEMTAP LANGUAGE Reference Manual

Systemtap language reference
Hide thumbs Also See for ENTERPRISE LINUX 5.4 - SYSTEMTAP LANGUAGE:
Table of Contents

Advertisement

Chapter 7. Associative arrays

7.4. Iteration, foreach

Like awk, SystemTap's foreach creates a loop that iterates over key tuples of an array, not only
values. The iteration may be sorted by any single key or a value by adding an extra plus symbol (+) or
minus symbol (-) to the code. The following are examples.
# Simple loop in arbitrary sequence:
foreach ([a,b] in foo)
fuss_with(foo[a,b])
# Loop in increasing sequence of value:
foreach ([a,b] in foo+) { ... }
# Loop in decreasing sequence of first key:
foreach ([a-,b] in foo) { ... }
The break and continue statements also work inside foreach loops. Since arrays can be large but
probe handlers must execute quickly, you should write scripts that exit iteration early, if possible. For
simplicity, SystemTap forbids any modification of an array during iteration with a foreach.
34

Advertisement

Table of Contents
loading

Table of Contents