Tcl Tutorial
Getting Started
- Introduction
- Running Tcl
- Simple Text Output
- Assigning values to variables
- Evaluation & Substitutions 1: Grouping arguments with ""
- Evaluation & Substitutions 2: Grouping arguments with {}
- Evaluation & Substitutions 3: Grouping arguments with []
- Results of a command - Math 101
- Computers and Numbers
Flow Control
- Numeric Comparisons 101 - if
- Textual Comparison - switch
- Looping 101 - While loop
- Looping 102 - For and incr
- Adding new commands to Tcl - proc
- Variations in proc arguments and return values
- Variable scope - global and upvar
Data Types
- Tcl Data Structures 101 - The list
- Adding & Deleting members of a list
- More list commands - lsearch, lsort, lrange
- Simple pattern matching - "globbing"
- String Subcommands - length index range
- String comparisons - compare match first last wordend
- Modifying Strings - tolower, toupper, trim, format
- Regular Expressions 101
- More Examples Of Regular Expressions
- More Quoting Hell - Regular Expressions 102
- Associative Arrays
- More On Arrays - Iterating and use in procedures
- Dictionaries
Input and Output
- File Access 101
- Information about Files - file, glob
- Invoking Subprocesses from Tcl - exec, open
Introspection
- Learning the existence of commands and variables ? - info
- State of the interpreter - info
- Information about procs - info
Modularization and Code Reuse
- Modularization - source
- Building reusable libraries - packages and namespaces
Further Topics
- Creating Commands - eval
- More command construction - format, list
- Substitution without evaluation - format, subst
- Changing Working Directory - cd, pwd
- Debugging & Errors - errorInfo errorCode catch error return
- More Debugging - trace
- Command line arguments and environment strings
- Leftovers - time, unset
- Channel I/O: socket, fileevent, vwait
- Time and Date - clock
- More channel I/O - fblocked & fconfigure
- Child interpreters