Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
 
For 2021 - online Python 3 training - see ((here)).

Our plans were to retire in summer 2020 and see the world, but Coronavirus has lead us into a lot of lockdown programming in Python 3 and PHP 7.
We can now offer tailored online training - small groups, real tutors - works really well for groups of 4 to 14 delegates. Anywhere in the world; course language English.

Please ask about private 'maintenance' training for Python 2, Tcl, Perl, PHP, Lua, etc.
Buffering up in Tcl - the empty coke can comparison

A comment on buffering in Tcl ....

if {1 == 0} {
When you finish drinking a can of Coke, you don't call
your local recycling plant up straight away and have them
send a truck around to collect the empty - that would be
inefficient to put it mildly. And in the same way,
a computer doesn't always save its output character by
character to the disc or screen - rather it buffers it up.
In most languages a clever strategy controls when the buffer
really is written (flushed) so that it's not very common for
the programmer to have to add an explicit flush request.
 
With Tcl, the default is that the output buffer flushes
each time it receives a new line character, which works
well enough most of the time. However, there are occasions
that you'll want to use the -nonewline option to puts to
allow you to generate a prompt and leave the cursor hanging
on the same line awaiting input from the user, and in such
cases you'll need an extra flush command.
}
 
puts -nonewline "How old are you "
flush stdout
set age [gets stdin]
puts "You are $age years old then"
 
if {1 == 0} {
Where you have multiple user inputs, you may prefer to
use a proc to read inputs and encapsulate the flush within
it, or you may prefer to run
 
fconfigure stdout -buffering none
 
which (technically) turns autoflush mode on rather than
turning buffering off!
}


If you want to comment a whole block of code .... you might like to use my little trick of testing for the impossible - "1 == 0" in the above - which lets you put code aside neatly, cleanly and nested. You'll see that I've even used it to provide documentation for today's entry ...
(written 2007-11-10)

 
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
T209 - Tcl/Tk - File and Directory Handling
  [779] The fragility of pancakes - and better structures - (2006-06-26)
  [785] Running external processes in Tcl and Tcl/Tk - (2006-06-29)
  [1407] Reading from another process in Tcl (pipes and sockets) - (2007-10-26)
  [1467] stdout v stderr (Tcl, Perl, Shell) - (2007-12-10)
  [2467] Tcl - catching an error before your program crashes - (2009-10-22)
  [3192] Tcl - Some example of HOW TO in handling data files and formats - (2011-03-04)
  [3320] Reading the nth line from a file (Perl and Tcl examples) - (2011-06-09)
  [3429] Searching through all the files in or below a directory - Ruby, Tcl, Perl - (2011-09-09)
  [3617] The fileutil package and a list of file system commands in Tcl - (2012-02-18)
  [4461] Reading from a URL, and reading Json, from your Tcl script - (2015-03-12)
  [4523] Catching failed commands and not crashing the program in Tcl - (2015-10-10)
  [4524] Tcl - a new example for data reformatting - (2015-10-10)

T202 - Tcl/Tk - Tcl Fundamentals
  [3] Looking for a donkey - (2004-08-05)
  [210] Joining lists in Tcl. Indirect variables in Tcl. - (2005-02-12)
  [328] Making programs easy for any user to start - (2005-05-29)
  [349] Comments in Tcl - (2005-06-16)
  [362] The ireallyreallywanna operator - (2005-06-28)
  [782] Converting between Hex and Decimal in Tcl - (2006-06-28)
  [1136] Buffering output - why it is done and issues raised in Tcl, Perl, Python and PHP - (2007-04-06)
  [1282] Stringing together Tcl scripts - (2007-07-29)
  [1469] Curley brackets v double quotes - Tcl, Tk, Expect - (2007-12-12)
  [2442] Variable storage - Perl, Tcl and Python compared - (2009-10-08)
  [3917] BODMAS - the order a computer evaluates arithmetic expressions - (2012-11-09)
  [4324] Learning to program - variables and constants - (2014-11-22)
  [4453] Tcl variable names - no real limits! - (2015-03-10)


Back to
Melksham v Ely
Previous and next
or
Horse's mouth home
Forward to
Arrays in Tcl - a demonstration
Some other Articles
Integer v float - Python
Remembrance day - inside a church and inside the day
Travel Across Wiltshire - the game
Arrays in Tcl - a demonstration
Buffering up in Tcl - the empty coke can comparison
Melksham v Ely
Closer than you think - the next step
MySQL - table design and initial testing example
Wiltshire - speaker / after dinner talker offer
Castle Lodge Hotel, Ely, Cambridgeshire
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., 2021: 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/1426_Buf ... rison.html • PAGE BUILT: Sun Oct 11 16:07:41 2020 • BUILD SYSTEM: JelliaJamb