Code:
Class Foo
Foo instproc init {} { puts [[self] info args myMethod] }
Foo instproc myMethod {anArgument} {} Foo ob ==> expected a tcl method name but got myMethod
This works as expected if I simply create an Object as follows:
Object foo foo proc myMethod {anArgument} {} foo info args myMethod ==> anArgument
Is this behaviour to be expected, and if so, why?
- ---------- = = ---------//--+ | / Kristoffer Lawson | www.fishpool.fi|.com +-> | setok@fishpool.com | - - --+------ |-- Fishpool Creations Ltd - / | +-------- = - - - = --------- /~setok/
On Sat, 17 Feb 2001, Kristoffer Lawson wrote:
Code:
Class Foo
Foo instproc init {} { puts [[self] info args myMethod] }
Foo instproc myMethod {anArgument} {} Foo ob ==> expected a tcl method name but got myMethod
This works as expected if I simply create an Object as follows:
Object foo foo proc myMethod {anArgument} {} foo info args myMethod ==> anArgument
Is this behaviour to be expected, and if so, why?
it is intented, because args only introspects the arguments for procs. For instprocs there is a method "instargs" for the class object. You will get the expected behavior with:
Foo instproc init {} { puts [[self class] info instargs myMethod] } Foo ob --> anArgument
with "[self class] info args" you'll get the args of class-specific procs
--Uwe