Dimittis programmandi Crystal linguarum 1.5

Dimissio linguae programmandi 1.5 Crystal divulgata est, cuius tincidunt commoditatem evolutionis in lingua Ruby coniungere conantur cum alta applicatione peractae linguae C proprium. Syntaxis Crystal proxima est, sed non plene compatitur cum Ruby, quamvis nonnulla programmata Ruby sine modificatione currunt. Compilator in Crystal scriptus est et sub Apache 2.0 licentia distribuitur.

Lingua typum static adhibet reprimendo, sine necessitate efficiatur ut rationes variabilium ac methodi argumentorum in codice expresse exprimantur. Crystal programmata in documenta exsecutabilia compilata sunt, cum bracteis aestimandis et codice tempore compilatis generatis. In Crystal programmatibus ligaturae in C. scriptae coniungi potest. Parallelizationis codicis exsecutio exercetur in keyword "spawn" utendo, quod tibi sinit asynchronously curriculum operis currere, sine interclusione principali stamina, sub specie filorum levium quae fibrarum vocantur.

Commodus bibliotheca magnas functiones communes praebet, inter instrumenta processus CSV, YAML, et JSON, componentes ad servientes HTTP creando, et subsidium WebSocket. Per processum evolutionis, convenit uti mandato "crystal fabulae", quod interfaciem (localhost: 8080 per defaltam) efficit ut interactive exsecutionem codicis in lingua Crystal.

Major changes:

  • Addidit compilator ceptum congruentiam nominum argumenti in exsequenda methodi abstracti et in eius definitione. Si nomen mismatch sit, monitum nunc editur: genus abstractum FooAbstract abstractum def foo (numerus : Int32) : Nil finis genus Foo < def foo FooAbstract (nomen : Int32) : Nil p nomen finis finis 6 | def foo (nomen : Int32) : Nil ^ β€” Monitum: parametri positionalis 'nomen' respondet modulo 'numerus' methodi overridentis FooAbstract#foo (numeri : Int32), quod nomen habet diversum et afficere potest nomine argumenti transeuntis
  • Cum argumentationem methodo incompositae ad valorem variabilis assignans, nunc argumentum coarctatur ad genus illius variabilis. class Foo @x : Int64 def initialize(x) @x = x # parameter x erit typed @x finis finis
  • Permittit ut annotationes ad parametros modorum vel macronum addas. def foo(@[MaybeUnused] x); finem # OK
  • Auxilia adiecit ad usus constantes indices et nomina in tuples. KEY = "s" foo = {s: "String", n: 0} ponit foo[KEY].size
  • Modi tabularii API additae sunt ad delenda lima et directoria. et Dir#delete?, quod falsum referre, si tabella vel directorium deest.
  • Tutela methodi File.tempfile confirmata est, quae nunc nullas personas in lineis quae nomen tabellae formant non patitur.
  • No_COLOR variabilis ambitus additae, quae color disables illustrando in compilator et interprete output.
  • Operis modus interpres insigniter emendatus est.

Source: opennet.ru