Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
32
Task/Delegates/Latitude/delegates.latitude
Normal file
32
Task/Delegates/Latitude/delegates.latitude
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
Delegator ::= Object clone tap {
|
||||
self delegate := Nil.
|
||||
self clone := {
|
||||
Parents above (parent self, 'clone) call tap {
|
||||
self delegate := #'(self delegate).
|
||||
}.
|
||||
}.
|
||||
self operation := {
|
||||
localize.
|
||||
if { this delegate slot? 'thing. } then {
|
||||
this delegate thing.
|
||||
} else {
|
||||
"default implementation".
|
||||
}.
|
||||
}.
|
||||
}.
|
||||
|
||||
Delegate ::= Object clone tap {
|
||||
self thing := "delegate implementation".
|
||||
}.
|
||||
|
||||
;; No delegate
|
||||
foo := Delegator clone.
|
||||
println: foo operation. ;; "default implementation"
|
||||
|
||||
;; Delegate which lacks `thing`
|
||||
foo delegate := Object.
|
||||
println: foo operation. ;; "default implementation"
|
||||
|
||||
;; Delegate which implements `thing`
|
||||
foo delegate := Delegate.
|
||||
println: foo operation. ;; "delegate implementation"
|
||||
Loading…
Add table
Add a link
Reference in a new issue