2017-02-27 53 views
0

我在TCL寫了下面的方法:TCL錯誤:錯誤#ARGS:應該是 「PROC名ARGS體」

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」

誰能告訴我,我在做什麼錯?謝謝

+1

這是不正確的Tcl語法。參數名稱必須包含在'{}'中,而不是'()'。另外,最後一行中缺少結尾引號。 – mkrieger1

+0

謝謝,解決了這個問題 –

+1

(從技術上講,在這種情況下你可以省略'{}',但使用它們永遠不會錯。) – mkrieger1

回答

0

問題正是你使用的是( ... )而不是{ ... }; Tcl不使用括號將形式參數封裝到過程中,而是使用大括號(一般「現在不解釋此語法」)。圓括號通常僅用於數組變量和表達式中。

相關問題