| 123456789101112131415161718192021222324252627282930313233343536 |
- MODULE StringsSliceProg;
- (* Strings.Slice (Python-style) + Insert/Replace/Capitalize. Exit 255. *)
- IMPORT Strings;
- VAR ExitCode : INTEGER;
- VAR s, d : ARRAY [0 .. 31] OF CHAR;
- BEGIN
- ExitCode := 0;
- Strings.Assign("Hello, World", s);
- Strings.Slice(s, 0, 5, d); (* "Hello" *)
- IF Strings.Equal(d, "Hello") THEN ExitCode := ExitCode + 1 END;
- Strings.Slice(s, 7, 12, d); (* "World" *)
- IF Strings.Equal(d, "World") THEN ExitCode := ExitCode + 2 END;
- Strings.Slice(s, -5, 12, d); (* "World" (negative start) *)
- IF Strings.Equal(d, "World") THEN ExitCode := ExitCode + 4 END;
- Strings.Slice(s, 0, -8, d); (* "Hell" (negative stop: 12-8=4) *)
- IF Strings.Equal(d, "Hell") THEN ExitCode := ExitCode + 8 END;
- Strings.Slice(s, 3, 3, d); (* "" *)
- IF Strings.Equal(d, "") THEN ExitCode := ExitCode + 16 END;
- Strings.Assign("abc", d);
- Strings.Insert("XY", d, 1); (* "aXYbc" *)
- IF Strings.Equal(d, "aXYbc") THEN ExitCode := ExitCode + 32 END;
- Strings.Assign("hello", d);
- Strings.Replace("XYZ", d, 2); (* "heXYZ" *)
- IF Strings.Equal(d, "heXYZ") THEN ExitCode := ExitCode + 64 END;
- Strings.Assign("hELLO wORLD", d);
- Strings.Capitalize(d); (* "Hello world" *)
- IF Strings.Equal(d, "Hello world") THEN ExitCode := ExitCode + 128 END
- END StringsSliceProg.
|