view samples/reflect.tp @ 377:93c28eee141e tip

Merge
author Michael Pavone <pavone@retrodev.com>
date Sat, 15 Aug 2015 22:45:33 -0700
parents b74956a2196f
children
line wrap: on
line source
#{
	main <- {
		o <- #{
			foo <- 42
			bar <- 39
			doStuff <- :blah {
				foo <- bar * blah
				foo
			}
			qux <- { 1337 }
			+ <- :right {
				foo + right
			}
		}
		print: (string: (object does: o understand?: "+")) . "\n"
		print: (string: (object does: o understand?: "foobar")) . "\n"
		print: (string: (object sendMessage: "qux" to: o)) . "\n"
		print: "Messages understood:\n"
		foreach: (object understoodBy: o) :idx el{
			print: el . "\n"
		}
		print: "\nProperties of:\n"
		foreach: (object propertiesOf: o) :idx el{
			print: el . "\n"
		}
		0
	}
}