23 lines
525 B
Text
23 lines
525 B
Text
$ include "seed7_05.s7i";
|
|
|
|
$ syntax expr: .().dot.() is -> 6; # priority of dot operator
|
|
|
|
const func integer: (in array integer: a) dot (in array integer: b) is func
|
|
result
|
|
var integer: sum is 0;
|
|
local
|
|
var integer: index is 0;
|
|
begin
|
|
if length(a) <> length(b) then
|
|
raise RANGE_ERROR;
|
|
else
|
|
for index range 1 to length(a) do
|
|
sum +:= a[index] * b[index];
|
|
end for;
|
|
end if;
|
|
end func;
|
|
|
|
const proc: main is func
|
|
begin
|
|
writeln([](1, 3, -5) dot [](4, -2, -1));
|
|
end func;
|