Факториал в 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
]]>