Подъехано обновление для это объектно-ориентированного языка программирования общего назначения Crystal (не путать с CRYSTAL).

Изменения языка

Вернули имя main для модуля верхнего уровня. Pull.

Поясняю:

В версии 1.1.0 добавили top_level для доступа к области верхнего уровня в макросах.

Стандартная библиотека

1
2
3
4
5
6
7
8
9
10
describe "Error" do
{% unless flag?(:win32) %}
# This method is not available on windows because windows support was introduced after deprecation.
it ".new (deprecated)" do
error = Socket::Addrinfo::Error.new(LibC::EAI_NONAME, "No address found", "foobar.com")
error.os_error.should eq Errno.new(LibC::EAI_NONAME)
error.message.not_nil!.should eq "Hostname lookup for foobar.com failed: No address found"
end
{% end %}
end

Тупо удалили определение : Int32? из методов.

1
2
'd'.step(to: 'a').to_a # => ['d', 'c', 'b', 'a']
'a'.step(to: 'd').to_a # => ['a', 'b', 'c', 'd']

Компилятор

От себя

Приятно, что язык развивается. Темпы хорошие)

Я узнал про этот язык, когда он был ещё молод, на ранних версиях.
Случайно увидел релиз 1.0.0 и начал использовать в своих проектах.

Осталось дождаться добавления поддержки Windows и тогда я буду писать пррикладные GUI.

Для себя я рассматриваю язык, как замена Golang.

Обсудить в Telegram