1

如果我所有的括号都匹配,并且(我认为)我没有使用任何放错位置的字符,'{'中的'unexpected'{'错误仍然会弹出吗?

这是代码:

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)
}
4

2 回答 2

2

R 不支持++运算符。因此,为什么关闭}是出乎意料的。

ctr = ctr + 1

会成功的。

于 2017-03-05T18:23:44.480 回答
2

R 没有递增和递减运算符。而不是ctr++,您应该使用ctr <- ctr + 1.

于 2017-03-05T18:25:38.013 回答