【问题标题】:TCL Error: wrong # args: should be "proc name args body"TCL 错误:错误#args:应该是“proc name args body”
【发布时间】:2017-02-27 15:58:47
【问题描述】:

我在tcl中写了如下方法:

proc read_csv ( csv_file) {

   package require csv
   package require struct::matrix

   struct::matrix m
   m add columns 8
   set f [open $csv_file]
   csv::read2matrix $f m {;}
   close $f

   return $m
}   


set m [read_csv "C:\\file.csv] 

当我尝试运行它时,我得到了错误:

错误的#args:应该是“proc name args body”

谁能告诉我,我做错了什么?谢谢

【问题讨论】:

  • 这不是正确的 Tcl 语法。参数名称必须用{} 括起来,而不是()。此外,最后一行缺少右引号。
  • 谢谢,解决了问题
  • (在这种情况下,从技术上讲,您可以省略 {},但使用它们永远不会出错。)

标签: tcl


【解决方案1】:

问题正是您使用的是(...) 而不是{...}; Tcl 不使用括号将形式参数括在过程中,而是使用花括号(一般的“现在不解释”语法)。括号通常仅用于数组变量和表达式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-04
    • 1970-01-01
    • 2013-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多