我有一個TCL腳本,如下所示。這是什麼意思 - 不能在tcl-上使用空字符串作爲「*」的操作數?如何解決
代碼工作得很好;然而,在我測試過幾個輸入之前,我有一個輸入文件Defect.csv的問題。 我嘗試刪除空格,行和使用unix2dos轉換爲unix格式但是,我得到這個錯誤 - 不能使用空字符串作爲「*」的操作數 -
我可以看到格式仍然搞砸了。我相信它不承認由於空間的「Y」。 我嘗試了以下嘗試刪除空格/製表符 cat OverlapVGSnets.csv | sed's/// g' sed's/// g'OverlapVGSnets.csv 但是,這並沒有解決這個問題。任何建議?
查看輸入
X , Y
5568687 , 260755
5568687 , 259891
5568687 , 259999
5568687 , 260755
腳本:
set x1 [lindex $coords 0]
set y1 [lindex $coords 1]
#The coordinates are to be converted into angstroms
set x2 [expr {int($x1*10)}]
set y2 [expr {int($y1*10)}]
foreach nets [::GetNetsInRegion $x2 $y2 $x2 $y2 vcg temp]
{puts $outfile $nets foreach masterclose
[::cadnavapi::layoutAPI::GetMasterCellName $nets]
{puts $outfile $master}}}} $outfile
逗號不是Tcl中的列表分隔符。如果你只是刪除所有的空格,每行將有一個單一的元素([數字],[數字])。但是,如果先分割逗號,則可以使用它:lassign [split $ line。,] x1 y1 –
顯示如何填充$ coords列表。 –
我不認爲這正是你的代碼; 'foreach'需要它的主體參數的第一個大括號與前一個參數在同一行(或至少是一個反斜線在分隔它們的單元之前)。 –