at:tutorial:reflection
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
at:tutorial:reflection [2007/07/13 09:37] – jorge | at:tutorial:reflection [2007/07/18 13:21] – tvcutsem | ||
---|---|---|---|
Line 11: | Line 11: | ||
def baseObject := object: { | def baseObject := object: { | ||
def field := nil; | def field := nil; | ||
- | def canonicalMethod() { nil } | + | def canonicalMethod() { nil }; |
- | def keyworded: arg1 method: arg2 { nil } | + | def keyworded: arg1 method: arg2 { nil }; |
}; | }; | ||
def mirror := reflect: baseObject; | def mirror := reflect: baseObject; | ||
def slots := mirror.listSlots(); | def slots := mirror.listSlots(); | ||
- | slots.each: { | slot | system.println() }; | + | slots.each: { | slot | system.println(slot) }; |
</ | </ | ||
Line 34: | Line 34: | ||
===== Mirages ===== | ===== Mirages ===== | ||
- | Extending the AmbientTalk core language involves adding objects which have a different implementation for some of the default meta-operations. In this part of the tutorial we describe how a programmer could define objects which allow for the dynamic addition of unknown methods and fields. First of all, we need to create a mirror instance which we can use to create new objects from. This can be performed using the '' | + | Extending the AmbientTalk core language involves adding objects which have a different implementation for some of the default meta-operations. In this part of the tutorial, we describe how a programmer could define objects which allow for the dynamic addition of unknown methods and fields. First of all, we need to create a mirror instance which we can use to create new objects from. This can be performed using the '' |
< | < | ||
Line 47: | Line 47: | ||
} else: { | } else: { | ||
super^doesNotUnderstand(selector); | super^doesNotUnderstand(selector); | ||
- | } | + | }; |
- | } | + | }; |
} | } | ||
</ | </ | ||
- | This mirror overrides the default implementation of the meta-operation '' | + | This mirror overrides the default implementation of the meta-operation '' |
< | < |
at/tutorial/reflection.txt · Last modified: 2010/11/16 16:32 by tvcutsem