我正在用 Tcl/Tk 编写的程序中实现“查找”功能,我正在努力寻找一种简洁/有效的方式来编写此代码。搜索将有不同的选项,例如“查找全部”、“精确”和“向上/向下搜索”等。
这是我尝试过的以及我打算在这里做的事情:
set idx [.text index insert];
set search_for $::search_entry;
set parameters "";
if {$::match_exact == 1} {append parameters "-exact "};
if {$::case_sensitive == 0} {append parameters "-nocase "};
if {$::find_all == 1} {append parameters "-all "};
if {$::direction == 1} {
append parameters "-backwards";
} else {
append parameters "-forewards";
}
.text search $parameters $search_for $idx;
有了这个,我在尝试搜索时收到以下错误:
bad switch "-nocase -forewards": must be --, -all, -backwards, -count, -elide, -exact, -forwards, -nocase, -nolinestop, -overlap, -regexp, or -strictlimits
请告诉我有一个同样简洁的方式来写这个?我担心我必须为用户设置的每个选项组合创建不同的搜索......