I copy and pasted what you posted, and still get the error: invalid command name "s1"
On Thu, May 8, 2008 at 10:59 AM, Gustaf Neumann neumann@wu-wien.ac.at wrote:
Matthew Smith schrieb:
Putting in: s1 push a results in an error, however I can do:
what is the error? this indicates that you have not defined the method push correctly
I get: invalid command name "s1"
this indicates, that you have not created an object s1. Your program should look like the following.....
hope this helps -gustaf neumann
=========================================== package require XOTcl; namespace import ::xotcl::*
Class Stack Stack instproc init {} { my instvar things set things "" } Stack instproc push {thing} { my instvar things set things [concat [list $thing] $things] return $thing } Stack instproc pop {} { my instvar things set top [lindex $things 0] set things [lrange $things 1 end] return $top }
set s1 [Stack new]
s1 push a s1 push b
set x [s1 pop] puts "The popped value is $x" ===========================================