Delegates: Difference between revisions
Content added Content deleted
(common lisp cleanup) |
No edit summary |
||
Line 630: | Line 630: | ||
} |
} |
||
}</lang> |
}</lang> |
||
=={{header|Vorpal}}== |
|||
Delegate objects can be an array of delegates or as a single delegate. |
|||
<lang vorpal> |
|||
a = new() |
|||
a.f = method(){ |
|||
.x.print() |
|||
} |
|||
c = new() |
|||
c.g = method(){ |
|||
(.x + 1).print() |
|||
} |
|||
# array of delegates |
|||
b = new() |
|||
b.delegate = new() |
|||
b.delegate[0] = a |
|||
b.delegate[1] = c |
|||
b.x = 3 |
|||
b.f() |
|||
b.g() |
|||
# single delegate |
|||
d = new() |
|||
d.delegate = a |
|||
d.x = 7 |
|||
d.f() |
|||
</lang> |
|||
The resulting output: |
|||
<pre> |
|||
3 |
|||
4 |
|||
7 |
|||
</pre> |
|||
{{Omit From|ALGOL 68}} <!-- it isn't immediately obvious that ALGOL 68 is object oriented --> |
{{Omit From|ALGOL 68}} <!-- it isn't immediately obvious that ALGOL 68 is object oriented --> |