SlideServe
Menu
Préférences
© SlideServe · v2026

ITEC 320

lynde avatar
15 diapositives · 349 Views · Jul 29, 2014

ITEC 320. Lecture 9 String rehash. Review. Questions? Arrays Dynamic arrays How? Typed and anonymous Slices Copying / Assignment. String’s. What do you remember about them? Declaration? Input? Output?. Code. What is the difference between. s: String := “Hello World”; And

ITEC 320 - slide 1
01 / 15ITEC 320
1 / 17

Télécharger la présentation

ITEC 320
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. ITEC 320 Lecture 9 String rehash

  2. Review • Questions? • Arrays • Dynamic arrays • How? • Typed and anonymous • Slices • Copying / Assignment

  3. String’s • What do you remember about them? • Declaration? • Input? • Output?

  4. Code • What is the difference between s: String := “Hello World”; And s2: String(1..15);

  5. Issues: types must match sizes have to match Modification s: String := "Hi World"; begin put(s’first); put(s’last); s(4) := 'T'; put_line(s); s(4 .. 6) := "Ron"; put_line(s); s := ”Bye world"; put_line(s);

  6. Modification(2) • Combinations s: String := "HiMom!"; u: String(1 .. 10); ... -- s := u; -- Compileerror -- u := s; -- Compileerror s := "HiBob!"; -- Okay -- s := "HiBilly-Bob!"; -- Compileerror -- s := s & "!"; -- Compileerror u = s & "!!!";

  7. Loops • Why access character by character? for i in 1 .. s'length loop for i in s'first .. s'last loop for i in s'range loop

  8. Input • Common usage s: String(1..10); len: Natural begin while not end_of_file loop get_line(s, len); put_line(s(1..len)); end loop;

  9. Java • Reference versus value • Why do you think ADA is focused on values? String s; String t = "Mama!"; System.out.println(s); s = "today"; s = t;

  10. Declare • Want to resize a String? • Use same syntax as arrays get(size); declare s3: String(1..size); begin get_line(s3, size);

  11. Differences • What is the difference between put(v(1 .. len)); put(v);

  12. Power tools • Unbounded strings (Like java) with Ada.Strings.Unbounded; use Ada.Strings.Unbounded; with Ada.Strings.Unbounded_Text_IO; use Ada.Strings.Unbounded_Text_IO; procedure showUnboundedis s: Unbounded_String := "first"; begin s := "different"; s := s & "!!"; put_line(s); -- different!! end showUnbounded

  13. Issues • Stack versus heap • Assignment with Ada.Strings.Unbounded; use Ada.Strings.Unbounded; with Ada.Strings.Unbounded_Text_IO; use Ada.Strings.Unbounded_Text_IO; ... s: Unbounded_String := "first"; t: Unbounded_String := s; ... s := s & "!!"; put_line(s); -- first!! put_line(t) -- first;

  14. Strength/Weakness • Fixed length • Unconstrained • Unbounded type string is array (Positive range) <> of Character

  15. Summary • String’s are just like arrays • Slices make them tolerable • Don’t have the tools you have in Java