39 lines
891 B
Text
39 lines
891 B
Text
$ include "seed7_05.s7i";
|
|
|
|
const type: pair is new struct
|
|
var string: name is "";
|
|
var string: value is "";
|
|
end struct;
|
|
|
|
const func integer: compare (in pair: pair1, in pair: pair2) is
|
|
return compare(pair1.name, pair2.name);
|
|
|
|
const func string: str (in pair: aPair) is
|
|
return "(" <& aPair.name <& ", " <& aPair.value <& ")";
|
|
|
|
enable_output(pair);
|
|
|
|
const func pair: pair (in string: name, in string: value) is func
|
|
result
|
|
var pair: newPair is pair.value;
|
|
begin
|
|
newPair.name := name;
|
|
newPair.value := value;
|
|
end func;
|
|
|
|
var array pair: data is [] (
|
|
pair("Joe", "5531"),
|
|
pair("Adam", "2341"),
|
|
pair("Bernie", "122"),
|
|
pair("Walter", "1234"),
|
|
pair("David", "19"));
|
|
|
|
const proc: main is func
|
|
local
|
|
var pair: aPair is pair.value;
|
|
begin
|
|
data := sort(data);
|
|
for aPair range data do
|
|
writeln(aPair);
|
|
end for;
|
|
end func;
|