I can't answer for Roassal specific content, but in terms of plain Pharo, for (3) you might be interested to try this example.
In Playground, evaluate... Integer compile: ' plusOne ^ self + 1' .
Then inspect... #(1 2 3) collect: #plusOne.
Debug into it, to observe #value: sent to aBlock variable when it holds #plusOne such that ByteSymbol(Symbol)>>#value: twists this into a send of #plusOne (i.e. self) to anObject.
In general, since symbols and blocks both respond to #value: they can be used interchangeably.
cheers -ben
On Sun, Mar 19, 2017 at 7:31 PM, Markus Böhm markus.boehm@gmail.com wrote:
Agile Vis ebook is superb, copied following snippet, know hopefully what it's doing, but want to make sure I understand how it works (in terms of "plain" Pharo):
- @ RTPopup: Class name is enough, but it is initiated under the hood?
- RTMetricNormalizer new ...: There is no need to keep reference to created object? Why? because messages sent to object (like normalizeSize) have a "sideeffect" on es?
- RTMetricNormalizer connects to model via #yourself? Is every symbol or code block. that is sent to RTMetricNormalizer as argument, executed when finally "sent" to es?
BR Mike
v := RTView new. es := (RTEllipse new color: Color blue) elementsOn: #(4 5 1 2 3 5). v addAll: es. es @ RTPopup. RTMetricNormalizer new elements: es; alphaColor; normalizeSize: #yourself min: 20 max: 50; normalizeColor: #yourself. RTHorizontalLineLayout new alignCenter; on: es. es @ RTLabeled. v
Moose-dev mailing list Moose-dev@list.inf.unibe.ch https://www.list.inf.unibe.ch/listinfo/moose-dev