Documentation generated from fossil trunk
tcl::prefix - 
facilities for prefix matching
::tcl::prefix all table string ::tcl::prefix longest table string ::tcl::prefix match ?option ...? table string
This document describes commands looking up a prefix in a list of strings. The following commands are supported:
return -errorcode MyError -level 1 -code error \
       "ambiguous option ..."
Basic use:
namespace import ::tcl::prefix
prefix match {apa bepa cepa} apa
     -> apa
prefix match {apa bepa cepa} a
     -> apa
prefix match -exact {apa bepa cepa} a
     -> bad option "a": must be apa, bepa, or cepa
prefix match -message "switch" {apa ada bepa cepa} a
     -> ambiguous switch "a": must be apa, ada, bepa, or cepa
prefix longest {fblocked fconfigure fcopy file fileevent flush} fc
     -> fco
prefix all {fblocked fconfigure fcopy file fileevent flush} fc
     -> fconfigure fcopy
Simplifying option matching:
array set opts {-apa 1 -bepa "" -cepa 0}
foreach {arg val} $args {
    set opts([prefix match {-apa -bepa -cepa} $arg]) $val
}
Creating a switch that supports prefixes:
switch [prefix match {apa bepa cepa} $arg] {
    apa  { }
    bepa { }
    cepa { }
}
lsearch(n), namespace(n), string(n), Tcl_GetIndexFromObj(3)