问题描述
我推荐 here 来编写我的 getopt
来处理输入选项。
使用以下命令运行脚本
$ tclsh t2.tcl -O /dir/o -B /dir/b
想要的结果:
/dir/o,/dir/o,/dir/b
Odir is /dir/o
/dir/o,/dir/b
Bdir is /dir/b
但是我得到了这个错误的结果
/dir/o,/dir/b
err...
/dir/b,/dir/b
err...
是的,$arg(${i}),$arg(O),$arg(B)
那些 vaule 似乎没有问题,
但不能匹配大小写条件。
我的代码有什么问题?
完整代码
# filenat2.tcl
package require cmdline
set para {
{O.arg "" "Output Dir"}
{B.arg "" "Build Dir"}
}
array set arg [cmdline::getoptions argv ${para}]
set requiredParameters {O B}
foreach i ${requiredParameters} {
if {$arg(${i}) == ""} {
error "Missing required parameter: -${i}"
} else {
puts "$arg(${i}),$arg(B)" #check
switch $arg(${i}) {
$arg(O) {
puts "Odir is $args(O)"
}
$arg(B) {
puts "Bdir is $args(B)"
}
default {
puts "err..."
}
}
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)