]]> ]]>

Факториал в E

Пример для версий E-on-Java 0.9.3

E — язык с неявной типизацией; :int, указанный в сигнатуре функции, — не объявление типа, а ограничение (guard) — контракт на то, что функция factorial будет работать только с целочисленными аргументами и возвращать только целочисленные значения. Эти ограничения не обязательны, но полезны при проведении аудита безопасности кода.

def factorial(n :int) :int {
  if (n == 0) {
    return 1
  } else {
    return n * factorial(n-1)
  }
} 

for n in 0..16 {
  println(n.toString(10) + "! = " + factorial(n).toString(10))
}

Комментарии

]]>

blog comments powered by Disqus

]]>

Работа программистам