June 2018 Update
This commit is contained in:
parent
ba8067c3b7
commit
22f33d4004
5278 changed files with 84726 additions and 14379 deletions
15
Task/Delegates/Julia/delegates-1.julia
Normal file
15
Task/Delegates/Julia/delegates-1.julia
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
module Delegates
|
||||
|
||||
export Delegator, Delegate
|
||||
|
||||
struct Delegator{T}
|
||||
delegate::T
|
||||
end
|
||||
|
||||
struct Delegate end
|
||||
|
||||
operation(x::Delegator) = thing(x.delegate)
|
||||
thing(::Any) = "default implementation"
|
||||
thing(::Delegate) = "delegate implementation"
|
||||
|
||||
end # module Delegates
|
||||
11
Task/Delegates/Julia/delegates-2.julia
Normal file
11
Task/Delegates/Julia/delegates-2.julia
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
using .Delegates
|
||||
|
||||
a = Delegator(nothing)
|
||||
b = Delegator("string")
|
||||
|
||||
d = Delegate()
|
||||
c = Delegator(d)
|
||||
|
||||
@show Delegates.operation(a)
|
||||
@show Delegates.operation(b)
|
||||
@show Delegates.operation(c)
|
||||
Loading…
Add table
Add a link
Reference in a new issue