Scala 2.7.7-final
Версия реализации Scala for JVM языка программирования ScalaВерсия Scala 2.7.7-final выпущена 28 октября 2009.
Примеры:
Hello, World! - Scala (20):
object HelloWorld {
def main(args: Array[String]) {
println("Hello, World!")
}
}
Факториал - Scala (21):
Используется рекурсивное определение факториала.
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)) }
}
}
Числа Фибоначчи - Scala (122):
Используется рекурсивное определение чисел Фибоначчи.
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("...")
}
}
Факториал - Scala (123):
Используется итеративное определение факториала.
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 (124):
Этот пример демонстрирует возможности использования ленивых вычислений и бесконечных списков в 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
Комментарии
]]>blog comments powered by Disqus
]]>