diff options
Diffstat (limited to 'doc/lsearch.n')
-rw-r--r-- | doc/lsearch.n | 62 |
1 files changed, 40 insertions, 22 deletions
diff --git a/doc/lsearch.n b/doc/lsearch.n index 21c8680..1d382f3 100644 --- a/doc/lsearch.n +++ b/doc/lsearch.n @@ -7,7 +7,7 @@ '\" See the file "license.terms" for information on usage and redistribution '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" -'\" RCS: @(#) $Id: lsearch.n,v 1.27 2007/09/02 22:37:41 dkf Exp $ +'\" RCS: @(#) $Id: lsearch.n,v 1.28 2007/10/25 09:25:27 dkf Exp $ '\" .so man.macros .TH lsearch n 8.5 Tcl "Tcl Built-In Commands" @@ -18,7 +18,6 @@ lsearch \- See if a list contains a particular element .SH SYNOPSIS \fBlsearch \fR?\fIoptions\fR? \fIlist pattern\fR .BE - .SH DESCRIPTION .PP This command searches the elements of \fIlist\fR to see if one @@ -34,19 +33,23 @@ is \fB\-glob\fR. If more than one matching style is specified, the last matching style given takes precedence. .TP \fB\-exact\fR +. \fIPattern\fR is a literal string that is compared for exact equality against each list element. .TP \fB\-glob\fR +. \fIPattern\fR is a glob-style pattern which is matched against each list element using the same rules as the \fBstring match\fR command. .TP \fB\-regexp\fR +. \fIPattern\fR is treated as a regular expression and matched against each list element using the rules described in the \fBre_syntax\fR reference page. .TP \fB\-sorted\fR +. The list elements are in sorted order. If this option is specified, \fBlsearch\fR will use a more efficient searching algorithm to search \fIlist\fR. If no other options are specified, \fIlist\fR is assumed @@ -65,15 +68,18 @@ indices will be in numeric order. If values are returned, the order of the values will be the order of those values within the input \fIlist\fR. .TP \fB\-inline\fR +. The matching value is returned instead of its index (or an empty string if no value matches.) If \fB\-all\fR is also specified, then the result of the command is the list of all values that matched. .TP \fB\-not\fR +. This negates the sense of the match, returning the index of the first non-matching value in the list. .TP \fB\-start\fR\0\fIindex\fR +. The list is searched starting at position \fIindex\fR. .VS 8.5 The interpretation of the \fIindex\fR value is the same as @@ -87,10 +93,12 @@ and \fB\-sorted\fR options. If more than one is specified, the last one takes precedence. The default is \fB\-ascii\fR. .TP \fB\-ascii\fR +. The list elements are to be examined as Unicode strings (the name is for backward-compatibility reasons.) .TP \fB\-dictionary\fR +. The list elements are to be compared using dictionary-style comparisons (see \fBlsort\fR for a fuller description). Note that this only makes a meaningful difference from the \fB\-ascii\fR option when @@ -98,16 +106,19 @@ the \fB\-sorted\fR option is given, because values are only dictionary-equal when exactly equal. .TP \fB\-integer\fR +. The list elements are to be compared as integers. .VS 8.5 .TP \fB\-nocase\fR +. Causes comparisons to be handled in a case-insensitive manner. Has no effect if combined with the \fB\-dictionary\fR, \fB\-integer\fR, or \fB\-real\fR options. .VE 8.5 .TP \fB\-real\fR +. The list elements are to be compared as floating-point values. .SS "SORTED LIST OPTIONS" These options (only meaningful with the \fB\-sorted\fR option) specify @@ -115,10 +126,12 @@ how the list is sorted. If more than one is given, the last one takes precedence. The default option is \fB\-increasing\fR. .TP \fB\-decreasing\fR +. The list elements are sorted in decreasing order. This option is only meaningful when used with \fB\-sorted\fR. .TP \fB\-increasing\fR +. The list elements are sorted in increasing order. This option is only meaningful when used with \fB\-sorted\fR. .SS "NESTED LIST OPTIONS" @@ -127,12 +140,14 @@ These options are used to search lists of lists. They may be used with any other options. .TP \fB\-index\fR\0\fIindexList\fR +. This option is designed for use when searching within nested lists. The \fIindexList\fR argument gives a path of indices (much as might be used with the \fBlindex\fR or \fBlset\fR commands) within each element to allow the location of the term being matched against. .TP \fB\-subindices\fR +. If this option is given, the index result from this command (or every index result when \fB\-all\fR is also specified) will be a complete path (suitable for use with \fBlindex\fR or \fBlset\fR) within the @@ -142,52 +157,55 @@ overall list to the term found. This option has no effect unless the .SH EXAMPLES Basic searching: .CS +.ta 2i \fBlsearch\fR {a b c d e} c - => 2 + \fB\(->\fI 2\fR \fBlsearch\fR -all {a b c a b c} c - => 2 5 + \fB\(->\fI 2 5\fR .CE - +.PP Using \fBlsearch\fR to filter lists: .CS +.ta 2i \fBlsearch\fR -inline {a20 b35 c47} b* - => b35 + \fB\(->\fI b35\fR \fBlsearch\fR -inline -not {a20 b35 c47} b* - => a20 + \fB\(->\fI a20\fR \fBlsearch\fR -all -inline -not {a20 b35 c47} b* - => a20 c47 + \fB\(->\fI a20 c47\fR \fBlsearch\fR -all -not {a20 b35 c47} b* - => 0 2 + \fB\(->\fI 0 2\fR .CE -This can even do a "set-like" removal operation: +This can even do a +.QW set-like +removal operation: .CS +.ta 2i \fBlsearch\fR -all -inline -not -exact {a b c a d e a f g a} a - => b c d e f g + \fB\(->\fI b c d e f g\fR .CE - +.PP Searching may start part-way through the list: .CS +.ta 2i \fBlsearch\fR -start 3 {a b c a b c} c - => 5 + \fB\(->\fI 5\fR .CE - +.PP It is also possible to search inside elements: .CS +.ta 2i \fBlsearch\fR -index 1 -all -inline {{a abc} {b bcd} {c cde}} *bc* - => {a abc} {b bcd} + \fB\(->\fI {a abc} {b bcd}\fR .CE - .SH "SEE ALSO" foreach(n), list(n), lappend(n), lindex(n), linsert(n), llength(n), lset(n), lsort(n), lrange(n), lreplace(n), .VS 8.5 string(n) .VE - - .SH KEYWORDS list, match, pattern, regular expression, search, string - -'\" Local Variables: -'\" mode: nroff -'\" End: +.\" Local Variables: +.\" mode: nroff +.\" End: |