Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
 
Python and Tcl - public course schedule [here]
Private courses on your site - see [here]
Please ask about maintenance training for Perl, PHP, Lua, etc
 
Tcl - uplevel to run code at calling level

Tcl procs (they're Tcl's functions) can pass information back via the return command, and they can access data in the top level of code via the global commands. Incoming parameters can be passed in 'by name' so that any values altered within the proc are also altered in the calling code - there's an example here using the upvar command and another here.

A further facility - uplevel - allows you to run a command in the scope of the proc that called your code. It can be useful for setting an extra return value, but it's also a command that allows all sorts of horrors - so be careful. And remember that any variables that you reference in the uplevel command that are prefixed with a $ will be interpretted / substituted before the uplevel command is even run - so will be from the local scope. There's an example of uplevel in use here if you want to see what I mean!
(written 2009-10-24)

 
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
T207 - Tcl/Tk - Procedures and Variable Scope
  [4398] Accessing variables across subroutine boundaries - Perl, Python, Java and Tcl - (2015-01-18)
  [3629] Sharing lots of values in Tcl without having lots of global declarations - (2012-02-28)
  [3414] Passing back multiple results in Tcl - upvar and uplevel - (2011-09-01)
  [3192] Tcl - Some example of HOW TO in handling data files and formats - (2011-03-04)
  [2929] Passing a variable number of parameters in to a function / method - (2010-08-20)
  [2520] Global and Enable - two misused words! - (2009-11-30)
  [2466] Tcl - passing arrays and strings in and back out of procs - (2009-10-22)
  [1782] Calling procs in Tcl and how it compares to Perl - (2008-09-02)
  [1404] Tcl - global, upvar and uplevel. - (2007-10-24)
  [1163] A better alternative to cutting and pasting code - (2007-04-26)
  [775] Do not duplicate your code - (2006-06-23)
  [409] Functions and commands with dangerous names - (2005-08-11)
  [308] Call by name v call by value - (2005-05-11)
  [122] Passing arrays to procs in Tcl - (2004-11-18)
  [96] Variable Scope - (2004-10-22)

T213 - Tcl/Tk - Libraries, Packages and Namespaces
  [4522] Loading packages in your Tcl program - (2015-10-09)
  [3418] Tcl packages, pkg_mkIndex, pkgIndex.tcl -what are they and why use them. - (2011-09-03)
  [3417] What is a namespace and why do we need them? - (2011-09-03)
  [3066] Separating groups of variables into namespaces - (2010-11-24)
  [1529] Tcl - learning how to use namespaces, packages and libraries together - (2008-02-02)
  [1339] Packages and Namespaces are like Suitcases and Aircraft - (2007-09-09)
  [146] example of Tcl namespaces and packages - (2004-12-10)


Back to
Quick easy and dangerous - automated logins via Tcl / Expect
Previous and next
or
Horse's mouth home
Forward to
By train ...
Some other Articles
Pantomimes around Melksham - 2009/2010 season
Accidentally typed ci rather than vi?
How did I do THAT?
By train ...
Tcl - uplevel to run code at calling level
Quick easy and dangerous - automated logins via Tcl / Expect
Using Tcl and Expect to automate repetitive jobs
Exploring Old Railways
split and join in tcl and expect
A short form of if ... then ... else
4759 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 at 50 posts per page


This is a page archived from The Horse's Mouth at http://www.wellho.net/horse/ - the diary and writings of Graham Ellis. Every attempt was made to provide current information at the time the page was written, but things do move forward in our business - new software releases, price changes, new techniques. Please check back via our main site for current courses, prices, versions, etc - any mention of a price in "The Horse's Mouth" cannot be taken as an offer to supply at that price.

Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2019: 404 The Spa • Melksham, Wiltshire • United Kingdom • SN12 6QL
PH: 01225 708225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/2476_Tcl ... level.html • PAGE BUILT: Sat May 27 16:49:10 2017 • BUILD SYSTEM: WomanWithCat