| |||||||||||
Accessing an array within a class using itcl Posted by lanceh (lanceh), 11 April 2008 Having some trouble creating an array within a class using incr tcl.Could someone point out what I'm overlooking? package require Itcl namespace import itcl::* class pm_modules { public variable primary_status public variable redundant_status public variable health_status constructor {{ps ""} {rs ""} {hs ""}} { set primary_status $ps set redundant_status $rs set health_status $hs } } class chassis { public variable mfg_name public variable prod_name public variable arr_chassis constructor {{mfg ""} {prod ""}} { set mfg_name $mfg set prod_name $prod array set arr_chassis { pm_modules pm1 pm_modules pm2 } parray arr_chassis } method set_arr_chassis {} { set arr_chassis(pm_modules pm1) [] ;#How to set variable in class pm_modules? set arr_chassis(pm_modules pm2) [] ;#How to set variable in class pm_modules? # parray arr_chassis } method get_arr_chassis {} { return [array get arr_chassis] } } #Create instance. chassis unit1 #Set then print value for chassis's mfg_name. unit1 configure -mfg_name "Simon" puts "mfg: [unit1 cget -mfg_name]" #Set then print value for instance pm1 and pm2. unit1 set_arr_chassis Posted by admin (Graham Ellis), 13 April 2008 I think you left some square brackets out!Here's an updated version of your script which creates an array within the object; I've also printed out the array names. Code:
Posted by lanceh (lanceh), 14 April 2008 Thanks Graham.How can I set the public variables in the class pm_modules...like primary_status, redundant_status, and health_status...if the code to set them is called from within the method set_arr_chassis? This page is a thread posted to the opentalk forum
at www.opentalk.org.uk and
archived here for reference. To jump to the archive index please
follow this link.
|
| ||||||||||
PH: 01144 1225 708225 • FAX: 01144 1225 793803 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho |