✓
Passing This code compiles and runs correctly.
Code
// Test: Capture with if inside for - PURE KORU (no custom events/procs)
// This is the pattern shown in the blog post:
// - Capture multiple fields (sum and count)
// - Iterate with for
// - Conditionally update with if
// - Print result with std.io:print.ln
//
// Items to iterate over: 1, 3, 6, 8, 10
// Values > 5: 6, 8, 10 (sum = 24, count = 3, avg = 8)
~import "$std/io"
~import "$std/control"
~capture({ sum: @as(i64, 0), count: @as(i32, 0) })
| as acc |> for(&[_]i32{1, 3, 6, 8, 10})
| each item |> if(item > 5)
| then |> captured { sum: acc.sum + @as(i64, item), count: acc.count + 1 }
| else |> captured { sum: acc.sum, count: acc.count }
| captured result |> std.io:print.ln("{{ @divTrunc(result.sum, @as(i64, result.count)):d }}")
Expected Output
8
Test Configuration
MUST_RUN