| |||||||||||
Passing array to a proc Posted by Arshad (Arshad), 3 January 2008 I want to pass an array to a proc and add 1 more element to the array from inside the proc.When I execute this set of code, it results into different behaviour for tcl running on a Linux box and on a windows box. On the linux box I get the element added from inside the proc with the original array but unfortunatly it does not work on a windows box. Any inputs what could be the reason for this behaviour? Linux Box - % array set a { 1 2 3 4 5 6 } % parray a a(1) = 2 a(3) = 4 a(5) = 6 % proc foo { a } { upvar #0 a b set b(7) 8 } % foo a 8 % parray a a(1) = 2 a(3) = 4 a(5) = 6 a(7) = 8 % Windows box - % array set a {1 2 3 4 5 6} % parray a a(1) = 2 a(3) = 4 a(5) = 6 % proc foo { a } { upvar a b set b(7) 8 } % foo a 8 % parray a a(1) = 2 a(3) = 4 a(5) = 6 Posted by admin (Graham Ellis), 3 January 2008 Why have you run upvar #0 a b on one operating system and upvar a b on the other? I think the difference you see is caused by you running different code, and not by anything to do with the operating system! Posted by Arshad (Arshad), 3 January 2008 Thanks Graham.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.
|
Other Forum Posts Follow us on ... | ||||||||||
PH: 01144 1225 708225 • FAX: 01144 1225 793803 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho |