summaryrefslogtreecommitdiffstats
path: root/tcl8.6/doc/apply.n
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2016-12-21 22:47:21 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2016-12-21 22:47:21 (GMT)
commit5514e37335c012cc70f5b9aee3cedfe3d57f583f (patch)
tree4ba7d8aad13735e52f59bdce7ca5ba3151ebd7e3 /tcl8.6/doc/apply.n
parent768f87f613cc9789fcf8073018fa02178c8c91df (diff)
downloadblt-5514e37335c012cc70f5b9aee3cedfe3d57f583f.zip
blt-5514e37335c012cc70f5b9aee3cedfe3d57f583f.tar.gz
blt-5514e37335c012cc70f5b9aee3cedfe3d57f583f.tar.bz2
undo subtree
Diffstat (limited to 'tcl8.6/doc/apply.n')
-rw-r--r--tcl8.6/doc/apply.n102
1 files changed, 0 insertions, 102 deletions
diff --git a/tcl8.6/doc/apply.n b/tcl8.6/doc/apply.n
deleted file mode 100644
index aeb2227..0000000
--- a/tcl8.6/doc/apply.n
+++ /dev/null
@@ -1,102 +0,0 @@
-'\"
-'\" Copyright (c) 2006 Miguel Sofer
-'\" Copyright (c) 2006 Donal K. Fellows
-'\"
-.TH apply n "" Tcl "Tcl Built-In Commands"
-.so man.macros
-.BS
-'\" Note: do not modify the .SH NAME line immediately below!
-.SH NAME
-apply \- Apply an anonymous function
-.SH SYNOPSIS
-\fBapply \fIfunc\fR ?\fIarg1 arg2 ...\fR?
-.BE
-.SH DESCRIPTION
-.PP
-The command \fBapply\fR applies the function \fIfunc\fR to the arguments
-\fIarg1 arg2 ...\fR and returns the result.
-.PP
-The function \fIfunc\fR is a two element list \fI{args body}\fR or a three
-element list \fI{args body namespace}\fR (as if the
-\fBlist\fR command had been used).
-The first element \fIargs\fR specifies the formal arguments to
-\fIfunc\fR. The specification of the formal arguments \fIargs\fR
-is shared with the \fBproc\fR command, and is described in detail in the
-corresponding manual page.
-.PP
-The contents of \fIbody\fR are executed by the Tcl interpreter
-after the local variables corresponding to the formal arguments are given
-the values of the actual parameters \fIarg1 arg2 ...\fR.
-When \fIbody\fR is being executed, variable names normally refer to
-local variables, which are created automatically when referenced and
-deleted when \fBapply\fR returns. One local variable is automatically
-created for each of the function's arguments.
-Global variables can only be accessed by invoking
-the \fBglobal\fR command or the \fBupvar\fR command.
-Namespace variables can only be accessed by invoking
-the \fBvariable\fR command or the \fBupvar\fR command.
-.PP
-The invocation of \fBapply\fR adds a call frame to Tcl's evaluation stack
-(the stack of frames accessed via \fBuplevel\fR). The execution of \fIbody\fR
-proceeds in this call frame, in the namespace given by \fInamespace\fR or
-in the global namespace if none was specified. If given, \fInamespace\fR is
-interpreted relative to the global namespace even if its name does not start
-with
-.QW :: .
-.PP
-The semantics of \fBapply\fR can also be described by:
-.PP
-.CS
-proc apply {fun args} {
- set len [llength $fun]
- if {($len < 2) || ($len > 3)} {
- error "can't interpret \e"$fun\e" as anonymous function"
- }
- lassign $fun argList body ns
- set name ::$ns::[getGloballyUniqueName]
- set body0 {
- rename [lindex [info level 0] 0] {}
- }
- proc $name $argList ${body0}$body
- set code [catch {uplevel 1 $name $args} res opt]
- return -options $opt $res
-}
-.CE
-.SH EXAMPLES
-.PP
-This shows how to make a simple general command that applies a transformation
-to each element of a list.
-.PP
-.CS
-proc map {lambda list} {
- set result {}
- foreach item $list {
- lappend result [\fBapply\fR $lambda $item]
- }
- return $result
-}
-map {x {return [string length $x]:$x}} {a bb ccc dddd}
- \fI\(-> 1:a 2:bb 3:ccc 4:dddd\fR
-map {x {expr {$x**2 + 3*$x - 2}}} {-4 -3 -2 -1 0 1 2 3 4}
- \fI\(-> 2 -2 -4 -4 -2 2 8 16 26\fR
-.CE
-.PP
-The \fBapply\fR command is also useful for defining callbacks for use in the
-\fBtrace\fR command:
-.PP
-.CS
-set vbl "123abc"
-trace add variable vbl write {\fBapply\fR {{v1 v2 op} {
- upvar 1 $v1 v
- puts "updated variable to \e"$v\e""
-}}}
-set vbl 123
-set vbl abc
-.CE
-.SH "SEE ALSO"
-proc(n), uplevel(n)
-.SH KEYWORDS
-anonymous function, argument, lambda, procedure,
-'\" Local Variables:
-'\" mode: nroff
-'\" End: