Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,34 @@
|
|||
% This procedure will call a given procedure with each element
|
||||
% of the given array. Thanks to CLU's type parameterization,
|
||||
% it will work for any type of element.
|
||||
apply_to_all = proc [T: type] (a: array[T], f: proctype(int,T))
|
||||
for i: int in array[T]$indexes(a) do
|
||||
f(i, a[i])
|
||||
end
|
||||
end apply_to_all
|
||||
|
||||
% Callbacks for both string and int
|
||||
show_int = proc (i, val: int)
|
||||
po: stream := stream$primary_output()
|
||||
stream$putl(po, "array[" || int$unparse(i) || "] = " || int$unparse(val));
|
||||
end show_int
|
||||
|
||||
show_string = proc (i: int, val: string)
|
||||
po: stream := stream$primary_output()
|
||||
stream$putl(po, "array[" || int$unparse(i) || "] = " || val);
|
||||
end show_string
|
||||
|
||||
% Here's how to use them
|
||||
start_up = proc ()
|
||||
po: stream := stream$primary_output()
|
||||
|
||||
ints: array[int] := array[int]$[2, 3, 5, 7, 11]
|
||||
strings: array[string] := array[string]$
|
||||
["enemy", "lasagna", "robust", "below", "wax"]
|
||||
|
||||
stream$putl(po, "Ints: ")
|
||||
apply_to_all[int](ints, show_int)
|
||||
|
||||
stream$putl(po, "\nStrings: ")
|
||||
apply_to_all[string](strings, show_string)
|
||||
end start_up
|
||||
Loading…
Add table
Add a link
Reference in a new issue