2017-03-05 46 views
1

如果我所有的括號都匹配,並且(我認爲)我沒有使用任何錯位字符,那麼'意外'{''''錯誤仍然彈出嗎?R - 意外的'{'即使有相匹配的括號?

下面是代碼:

listsarw<-function(s){ 
    drunkwalk<-as.data.frame(matrix(ncol=s,nrow=4^s-1)) 
    is.self.avoiding<-vector(mode="logical",length=4^s-1) 
    for(i in 0:4^s-1){ 
     a<-convers(i,4) 
     drunkwalk[i,]<-a 
     if((!checkbacktrace(a))&&(!anyDuplicated(coords(a)))) 
     is.self.avoiding(i)<-TRUE 
    } 
    lim<-sum(is.self.avoiding) 
    sarw<-as.data.frame(matrix(ncol=s,nrow=lim)) 
    ctr<-0 
    for(i in 0:4^s-1){ 
    if(is.self.avoiding(i)){ 
     sarw[ctr,]<-drunkwalk[i,] 
     ctr++ 
    } #error is pointing to this bracket 
    } 
    return(sarw) 
} 

回答

2

R不支持++運算符。因此,關閉}爲什麼出乎意料。

ctr = ctr + 1 

會做的伎倆。

2

R沒有增量和減量運算符。而不是ctr++,您應該使用ctr <- ctr + 1