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
/
substring.icn
< prev
next >
Wrap
Text File
|
2001-12-06
|
1KB
|
66 lines
#SRC: JCON
# string subscripting test
procedure main()
local i, j, k, s, t
s := "abcde"
t := "ABCDE"
write("A. ", !s)
every write("B. ", !s)
every i := 0 to 6 do write("C ", i, ". ", s[i] | "--")
every i := 0 to -6 by -1 do write("D ", i, ". ", s[i] | "--")
every i := -10 to 10 do write("E ", i, ". ", s[3:i] | "--")
every i := -10 to 5 do write("F ", i, ". ", s[3+:i] | "--") #some SHOULD fail
every i := -5 to 10 do write("G ", i, ". ", s[3-:i] | "--") #some SHOULD fail
!s := "X"
write("H. ", s)
every !s := "Y"
write("I. ", s)
every i := -6 to 6 do {
s := "abcde"
if s[i] := t[i] then
write("J ", i, ". ", s)
else
write("J ", i, ". --")
}
every i := 1 to 6 do {
every j := 1 to 6 do {
s := "abcde"
writes("K ", i, " ", j, ". ")
if s[i:j] := "(*)" then
write(s)
else
write(s, " [failed]")
}
}
every i := 1 to 6 do {
every j := 1 to 6 do {
every k := 1 to 6 do {
s := "abcde"
writes("L ", i, " ", j, " ", k, ". ")
if s[i:j][k:2] := "(*)" then
write(s)
else
write(s, " [failed]")
}
}
}
s := "abcde"
every !s <- "-" do write("M ", s)
every s [1 to 5] <- "-" do write("N ", s)
every s [(-5 to 6) +: 0] <- "--" do write("O ", s)
s := "abcde"
every s[2:4] := !"123" do write("P ", s)
s := "fghij"
every s[2:4] := !"456" do { write("Q ", s); s := "klmno" }
end