with ada.text_io; use ada.text_io; with ada.integer_text_io; use ada.integer_text_io; procedure somestrings is -- prints string s in reverse procedure revprintln(s: String) is begin for i in reverse s'range loop put(s(i)); end loop; new_line; end revprintln; type color is (red, blue, green, yellow, orange, chartreusesees); package colorio is new enumeration_io(color); use colorio; type ColorArray is array(blue .. orange) of Integer; ca: ColorArray; -- ca: ColorArray := (11, 22, 33, 44); s: String := "Hi Mom!"; r: String(1 .. 7); swap: String(1..3); begin ca := (11, 22, 33, 44); -- s := ('b', 'y', 'e', ' ', 'b', 'y', 'e'); -- s is an array of characters s(4) := 'T'; put_line(s); for i in ca'range loop put(i); put(ca(i)); new_line; end loop; -- let's print this string in reverse revprintln(s); -- Let's print a slice put_line(s(4..7)); -- What do these print? put_line(s(2..4)); put_line(s(4..4)); put_line(s(5..4)); r(1..3) := s(4..6); r(4) := s(3); r(5..6) := s(1..2); r(7) := s(7); put_line(r); -- What's this do? swap := s(1..3); s(1..3) := s(4..6); s(4..6) := swap; put_line(s); end somestrings;