aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorSteve Bennett <steveb@workware.net.au>2010-09-16 09:41:02 +1000
committerSteve Bennett <steveb@workware.net.au>2010-10-15 11:02:52 +1000
commit2801904dafbac440eac1d833ef1594ca60771d9c (patch)
tree71ea8c13365b74510948d781f5219627ea11ca78 /examples
parent77ebbb58cb33c0e37daef21baee7a06fe6ab49cb (diff)
downloadjimtcl-2801904dafbac440eac1d833ef1594ca60771d9c.zip
jimtcl-2801904dafbac440eac1d833ef1594ca60771d9c.tar.gz
jimtcl-2801904dafbac440eac1d833ef1594ca60771d9c.tar.bz2
Add an optional 'putter' function to parray
Signed-off-by: Steve Bennett <steveb@workware.net.au>
Diffstat (limited to 'examples')
-rw-r--r--examples/parray.tcl17
1 files changed, 17 insertions, 0 deletions
diff --git a/examples/parray.tcl b/examples/parray.tcl
new file mode 100644
index 0000000..8ac5d3d
--- /dev/null
+++ b/examples/parray.tcl
@@ -0,0 +1,17 @@
+# Example of using the 'putter' function to redirect parray output
+
+set a {1 one 2 two 3 three}
+
+# Use 'curry' to create a single command from two words
+stderr puts "curry"
+parray a * [curry stderr puts]
+
+# Same thing, but an alias instead
+stderr puts "\nalias"
+alias stderr_puts stderr puts
+parray a * stderr_puts
+
+# Now use a lambda to accumulate the results in a buffer
+stderr puts "\nlamba"
+parray a * [lambda {msg} {lappend ::lines $msg}]
+stderr puts [join $lines \n]