lengthとか

Rで学ぶプログラミングGaucheとかやりたくなってきた(何。

my_length <- function(list){
  if(is.null(list)){
    return(0)
  }else if(is.list(list)){
    return(1 + my_length(cdr(unlist(list,recursive=FALSE))))
  }else{
    return(1 + my_length(cdr(list)))
  }
}
> my_length(1:10)
[1] 10
> my_length(list(1:10,list(1:10)))
[1] 20

プログラミングGaucheで面白かったのは、今までと違うパラダイムで世界を構築していくところだったような気がする。で、それを自分の好きな言語でやれるんだったら、それは結構嬉しいことだよね。