Changeset 4470 for trunk/examples
- Timestamp:
- 09/22/08 08:18:55 (4 months ago)
- Location:
- trunk/examples/proxies
- Files:
-
- 2 modified
-
proxies.lgt (modified) (3 diffs)
-
SCRIPT.txt (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/examples/proxies/proxies.lgt
r3227 r4470 3 3 % object proxy arguments and to encapsulate relevant predicates: 4 4 5 :- object(circle(_ Radius, _Color)).5 :- object(circle(_Id, _Radius, _Color)). 6 6 7 7 :- public([ 8 radius/1, 9 color/1, 10 area/1, 11 perimeter/1, 12 print/0]). 8 id/1, radius/1, color/1, 9 area/1, perimeter/1, 10 print/0 11 ]). 12 13 id(Id) :- 14 parameter(1, Id). 13 15 14 16 radius(Radius) :- 15 parameter( 1, Radius).17 parameter(2, Radius). 16 18 17 19 color(Color) :- 18 parameter( 2, Color).20 parameter(3, Color). 19 21 20 22 area(Area) :- … … 27 29 28 30 print :- 29 area(Area), write('area: '), write(Area), 31 id(Id), write('id: '), write(Id), 32 area(Area), write(', area: '), write(Area), 30 33 perimeter(Perimeter), write(', perimeter: '), write(Perimeter), 31 34 color(Color), write(', color: '), write(Color), nl. … … 34 37 35 38 36 % parametric object proxies (with an extra argument to represent identity):39 % parametric object proxies: 37 40 38 41 circle('#1', 1.23, blue). -
trunk/examples/proxies/SCRIPT.txt
r4466 r4470 18 18 % print the area and the perimeter for all circle proxies: 19 19 20 | ?- forall(circle(Id, R, C), (write(Id), write(' '), circle(R, C)::print)).20 | ?- forall(circle(Id, R, C), circle(Id, R, C)::print). 21 21 22 #1 area: 4.75291, perimeter: 7.72831, color: blue 23 #2 area: 43.2412, perimeter: 23.3106, color: yellow 24 #3 area: 0.477836, perimeter: 2.45044, color: green 25 #4 area: 103.508, perimeter: 36.0655, color: black 26 #5 area: 217.468, perimeter: 52.2761, color: cyan 27 yes 22 id: #1, area: 4.75291, perimeter: 7.72831, color: blue 23 id: #2, area: 43.2412, perimeter: 23.3106, color: yellow 24 id: #3, area: 0.477836, perimeter: 2.45044, color: green 25 id: #4, area: 103.508, perimeter: 36.0655, color: black 26 id: #5, area: 217.468, perimeter: 52.2761, color: cyan 27 true. 28 29 30 % print the area and the perimeter for the circle #2: 31 32 | ?- {circle('#2', R, C)}::print. 33 34 id: #2, area: 43.2412, perimeter: 23.3106, color: yellow 35 R = 3.71, 36 C = yellow.
