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