lama_byterun/regression/test087.lama

42 lines
670 B
Text
Raw Normal View History

2020-01-05 03:33:17 +03:00
local n;
2020-01-14 03:30:17 +03:00
infix === at == (v1, v2) {
2020-01-05 03:33:17 +03:00
local s1, s2, i;
s1 := v1.string;
s2 := v2.string;
if s1.length == s2.length
then
for i := 0, i < s1.length, i := i + 1
do
if s1[i] != s2[i] then return 0 fi
od;
1
else 0
fi
}
2020-01-14 03:30:17 +03:00
infix ? before + (v, l) {
2020-01-05 03:33:17 +03:00
case l of
{} -> 0
| h : tl -> if h === v then 1 else (v ? tl) fi
esac
}
2020-01-14 03:30:17 +03:00
infix +++ at + (l1, l2) {
2020-01-05 03:33:17 +03:00
case l1 of
{} -> l2
| h : tl -> (h : tl +++ l2)
esac
}
n := read ();
write ({1, 2, 3} === {1, 2, 3});
write ({1, 2, 3} === {1, 2, 4});
write (1+2 ? {1, 2, 3});
write (1*3+2 ? {1, 2, 3});
write (1*3+2 ? {1, 2, 5});
write (8*4 ? {1, 2, 3} +++ {5, 7, 32, 6})