prefix(3tcl) | Tcl Built-In Commands | prefix(3tcl) |
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(3tcl), namespace(3tcl), string(3tcl), Tcl_GetIndexFromObj(3tcl)
prefix, table lookup
8.6 | Tcl |