// Phase 246-EX: Minimal _atoi test // Tests NumberAccumulation pattern: result = result * 10 + digit_pos // Prints "result = N" to stdout, returns 0 on success (42), 1 on failure. static box Phase246ExAtoiMini { main() { local s = "42" local len = 2 local result = me.atoi(s, len) // Expected: 42 print("result = " + result) if result == 42 { return 0 } else { return 1 } } method atoi(s, len) { local result = 0 local digits = "0123456789" local i = 0 loop(i < len) { local ch = s.substring(i, i + 1) local digit_pos = digits.indexOf(ch) if digit_pos < 0 { break } result = result * 10 + digit_pos i = i + 1 } return result } }