home *** CD-ROM | disk | FTP | other *** search
/ ftp.cs.arizona.edu / ftp.cs.arizona.edu.tar / ftp.cs.arizona.edu / icon / historic / v941.tgz / icon.v941src.tar / icon.v941src / tests / general / string1.icn < prev    next >
Text File  |  2001-12-06  |  1KB  |  55 lines

  1. #SRC: JCON
  2.  
  3. # string test -- including operations on string *constants*
  4.  
  5. procedure main()
  6.    local s, t
  7.  
  8.    s := "abcde"
  9.    write("type ", type(s))
  10.    write("*s  ", *s)
  11.    write("s:  ", s)
  12.    write("s:  ", image(s))
  13.    every writes("!:  " | !s | "\n")
  14.    every writes("1:  " | s[1 to 5] | "\n")
  15.    every writes("0:  " | s[0 to 7] | "\n")
  16.    every writes("-5: " | s[-5 to -1] | "\n")
  17.    every writes("-7: " | s[-7 to -0] | "\n")
  18.  
  19.    write("s1: ", s[1:6]);
  20.    write("s2: ", s[1+:5]);
  21.    write("s3: ", s[1-:-5]);
  22.    write("s4: ", s[1:0]);
  23.    write("s5: ", s[-5:0]);
  24.    write("s6: ", s[6:1]);
  25.    write("s7: ", s[0:-5]);
  26.    write("s8: ", s[2:4]);
  27.    write("s9: ", s[-2:-4]);
  28.  
  29.    write("k1: ","ABCDE"[1:6]);
  30.    write("k2: ","ABCDE"[1+:5]);
  31.    write("k3: ","ABCDE"[1-:-5]);
  32.    write("k4: ","ABCDE"[1:0]);
  33.    write("k5: ","ABCDE"[-5:0]);
  34.    write("k6: ","ABCDE"[6:1]);
  35.    write("k7: ","ABCDE"[0:-5]);
  36.    write("k8: ","ABCDE"[2:4]);
  37.    write("k9: ","ABCDE"[-2:-4]);
  38.  
  39.    t := "abc" || "de"
  40.    write("t:  ", image(t))
  41.    (s === t) | write("not ===")
  42.    (s ~=== t) & write("are ~===")
  43.  
  44.    write("?x:  ", ?"x")
  45.    write("?y:  ", ?"yyyyyyyyyyy")
  46.    write("?z:  ", ?"" | "nope")    # should "nope"
  47.  
  48.    write("c1: ", image("" || ""))
  49.    write("c2: ", image("a" || ""))
  50.    write("c3: ", image("" || "b"))
  51.    write("c4: ", image("cd" || "ef"))
  52.    write("c5: ", image(3.14 || 159))
  53.    write("c6: ", image('abc' || 'def'))
  54. end
  55.