こいばな - riskriskと時々鼻メガネ -

正式名称は「どすこい!鼻メガネ会長のいつでも土俵際!」です。ソフトウェア開発に関することを書いています。

なんとなく、フィボナッチも作ってみた

コレでいいのか的なもの、第二段。
なんかもっと上手く出来るだろうなぁと思ったけど、
まずは作ってみるのが楽しいよね。

// -*- Coding: utf-8-unix -*-

object Fibonacci
{
  def main( args:Array[String] ):Unit = {

    var prev:Int = 0;
    var now:Int = 1;

    val l = for( i <- 0 until 10 ) yield {
      val tmp = now
      now = prev + now
      prev = tmp
      now
    }
    println( l )
  }
}

追記 : 少しだけ、進化した?

// -*- Coding: utf-8-unix -*-

object Fibonacci
{
  def main( args:Array[String] ):Unit = {

    def fib[A](l:List[A],prev:Int,now:Int):List[Int] = {
       if( l.isEmpty ) Nil
       else (prev + now) :: fib(l.tail,now, prev + now)
    }

    println( fib( List.range( 0, 10 ), 0 , 1 ) )
  }
}