Ceylon
Реализация языка программирования CeylonАвторская и единственная реализация языка, выпущенная в 2011 году. Компилятор написан на Java и распространяется под лицензией GNU GPL v2.
Кроме того, существует среда разработки, поставляемая как плагин к IDE Eclipse и распространяющаяся под лицензией Eclipse Public License 1.0.
Ссылки:
Примеры:
Hello, World!:
Пример для версий Ceylon M1Допустим, эта программа принадлежит модулю helloworld.progopedia.com
. Тогда сам код программы должен находиться в файле /source/com/progopedia/helloworld.ceylon
(относительно главной директории программы, из которой она будет запускаться). Кроме того, в файле /source/com/progopedia/module.ceylon
должно находиться описание модуля, например, такое:
Module module {
name = 'com.progopedia.helloworld';
version = '1.0.0';
by = {"Mariia Mykhailova"};
dependencies = {};
doc = "Hello, World!";
license = 'Public domain';
}
После этого программу можно скомпилировать командой ceylonc com.progopedia.helloworld
и запустить командой ceylon com.progopedia.helloworld/1.0.0
(указание версии при запуске обязательно).
void run() {
print("Hello, World!");
}
Факториал:
Пример для версий Ceylon M1В этом примере факториалы вычисляются итеративно. Ключевое слово variable
указывает на то, что значение переменной fact
будет изменяться позднее (в Java, напротив, ключевое слово final
указывает на то, что значение переменной изменяться не будет). Тип Integer
позволяет хранить значения факториалов без переполнения. Оператор конкатенации аргументов команды print
не требует отдельного оператора, но при этом первый и последний элемент из списка конкатенируемых должны быть строками.
void run() {
variable Integer fact := 1;
for (i in 0..16) {
print("" i "! = " fact "");
fact *= i + 1;
}
}
Числа Фибоначчи:
Пример для версий Ceylon M1В этом примере используется итеративное вычисление чисел Фибоначчи.
void run() {
variable String output := "";
variable Integer fib1 := 0;
variable Integer fib2 := 1;
variable Integer fib3;
for (i in 1..16) {
output := "" output "" fib2 ", ";
fib3 := fib1 + fib2;
fib1 := fib2;
fib2 := fib3;
}
print("" output "...");
}
Комментарии
]]>blog comments powered by Disqus
]]>