You are here

process 진행

.top74.lab91.fee98 이라는 이름을 가진 "피드백"을 이용하여 process.dat 라는 파일에 있는 값을 체크하여
feedback 이 진행하도록 하였습니다. 그런데 process.dat 파일 안에 써지는 내용이 0.012, 10.456 과 같이 정수형태로
출력되지 않아서 값을 읽어 int 형태로 변환하여 line에 저장하도록 하였습니다.
그런데 프로세스가 제대로 작동을 하다가 어느 순간에
set line [expr int($line)]
이 부분에서

too few arguments for math function while executing "expr int($line)"

라는 에러메시지를 띄우면서 더이상 진행하지 않습니다.
제가 보기엔 별 문제가 없어 보이는데, 그게 아닌가봅니다.
이유가 무엇인지, 어떻게 하면 오류가 나지 않을까요?
코드는 아래와 같습니다.

set pushd [pwd]
cd CCP2D
exec CCP.exe &
.top74.lab91.fee98 reset
set p0 0
set pro [open ./Output/process.dat w+]
puts $pro "0"
close $pro

while 1 {              
        set pro [open ./Output/process.dat r]
        gets $pro line
        set line [expr int($line)]
        close $pro
                               
        for {set a 0} { $a < [expr $line - $p0] } {incr a 1} {
                .top74.lab91.fee98 step
        }
        if {$line >= 100} {
                break
        }
        set p0 $line
        puts $p0
        after 1000
}
cd $pushd