Tcl:即时命令替换

时间:2012-02-08 23:08:00

标签: tcl

我有以下代码,它基于变量op调用minmax

  switch $op {
      min {
        set x  [::tcl::mathfunc::min {*}$lax]
        set y  [::tcl::mathfunc::min {*}$lay]
      }
      max {
        set x  [::tcl::mathfunc::max {*}$lax]
        set y  [::tcl::mathfunc::max {*}$lay]
      }
  }

不是通过开关写它,而是想写下面的内容。

       set x  [::tcl::mathfunc::$op {*}$lax]
       set y  [::tcl::mathfunc::$op {*}$lay]

我尝试使用subst命令但无法使其正常工作。我使用Tcl 8.5.7

1 个答案:

答案 0 :(得分:6)

你的第二个例子应该不加修改,所以不需要过度生成。 观察:

% set lax {1 2 3}
1 2 3
% set op min
min
% set x [::tcl::mathfunc::$op {*}$lax]
1
% set op max
max
% set x [::tcl::mathfunc::$op {*}$lax]
3