]]> ]]>

Scala 2.7.7-final

Версия реализации Scala for JVM языка программирования Scala

Версия Scala 2.7.7-final выпущена 28 октября 2009.

Примеры:

Hello, World!:

object HelloWorld {
    def main(args: Array[String]) {
        println("Hello, World!")
    }
}

Факториал:

Используется рекурсивное определение факториала.

object Factorial {
    def factorial(n: Int): Long = 
        if (n == 0) 1 
               else n * factorial(n - 1)
    def main(args: Array[String]) {
        for {i <- List.range(0, 17)} 
            yield { println(i + "! = " + factorial(i)) }
    }
}

Числа Фибоначчи:

Используется рекурсивное определение чисел Фибоначчи.

object Fibonacci {
    def fibonacci(n: Int): Int = 
        if (n < 3) 1 
              else fibonacci(n - 1) + fibonacci(n - 2)
    def main(args: Array[String]) {
        for {i <- List.range(1, 17)} 
            yield { print(fibonacci(i) + ", ") }
        println("...")
    }
}

Факториал:

Используется итеративное определение факториала.

object Factorial {
    def main(args: Array[String]) {
        var f = BigInt(1)
        format("0! = %s\n", f)
        for {i <- 1 to 16} {
             f *= i;
             format("%s! = %s\n", i, f)
        }
    }
}

Числа Фибоначчи:

Этот пример демонстрирует возможности использования ленивых вычислений и бесконечных списков в Scala. Бесконечный список чисел Фибоначчи fibs определяется при помощи фунций .zip и .tail по аналогии с примером на Haskell. Пример предназначен для интерактивной интерпретации.

lazy val fib: Stream[Int] = Stream.cons(1, Stream.cons(1, fib.zip(fib.tail).map(p => p._1 + p._2)))
fib.take(16).print

В закладки: ]]> Пиктограмма del.icio.us Пиктограмма БобрДобр.ru Пиктограмма Memori.ru Пиктограмма МоёМесто.ru ]]>