Send an unknown method call: Difference between revisions

Add Factor example
(Add Factor example)
Line 152:
foo(5) = 47
</pre>
 
=={{header|Factor}}==
Factor's object model is such that objects themselves don't contain methods — generic words do. So there is nothing different about invoking an unknown method than invoking an unknown word in general.
<lang factor>USING: accessors kernel math prettyprint sequences words ;
IN: rosetta-code.unknown-method-call
 
TUPLE: foo num ;
C: <foo> foo
GENERIC: add5 ( x -- y )
M: foo add5 num>> 5 + ;
 
42 <foo> ! construct a foo
"add" "5" append ! construct a word name
! must specify vocab to look up a word
"rosetta-code.unknown-method-call"
lookup-word execute . ! 47</lang>
 
=={{header|Forth}}==
1,827

edits