แž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™แž—แžถแžŸแžถแžŸแžšแžŸแŸแžšแž€แž˜แŸ’แž˜แžœแžทแž’แžธ Crystal 1.5

แž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™แž—แžถแžŸแžถแžŸแžšแžŸแŸแžšแž€แž˜แŸ’แž˜แžœแžทแž’แžธ Crystal 1.5 แžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ„แŸ‡แž–แžปแž˜แŸ’แž– แžขแŸ’แž“แž€แžขแž—แžทแžœแžŒแŸ’แžแž“แŸแžŠแŸ‚แž›แž€แŸ†แž–แžปแž„แž–แŸ’แž™แžถแž™แžถแž˜แž”แž‰แŸ’แž…แžผแž›แž‚แŸ’แž“แžถแž“แžผแžœแž—แžถแž–แž„แžถแž™แžŸแŸ’แžšแžฝแž›แž“แŸƒแž€แžถแžšแžขแž—แžทแžœแžŒแŸ’แžแž“แŸแž“แŸ…แž€แŸ’แž“แžปแž„แž—แžถแžŸแžถ Ruby แž‡แžถแž˜แžฝแž™แž“แžนแž„แž›แž€แŸ’แžแžŽแŸˆแž“แŸƒแž€แžถแžšแžขแž“แžปแžœแžแŸ’แžแžแŸ’แž–แžŸแŸ‹แž“แŸƒแž—แžถแžŸแžถ C แŸ” แžœแžถแž€แŸ’แž™แžŸแž˜แŸ’แž–แŸแž“แŸ’แž’แžšแž”แžŸแŸ‹ Crystal แž‚แžบแž“แŸ…แž‡แžทแž แž”แŸ‰แžปแž“แŸ’แžแŸ‚แž˜แžทแž“แž†แž”แž‚แŸ’แž“แžถแž–แŸแž‰แž›แŸแž‰แž‡แžถแž˜แžฝแž™ Ruby แž‘แŸ„แŸ‡แž”แžธแž‡แžถแž€แž˜แŸ’แž˜แžœแžทแž’แžธ Ruby แžแŸ’แž›แŸ‡แžŠแŸ†แžŽแžพแžšแž€แžถแžšแžŠแŸ„แž™แž‚แŸ’แž˜แžถแž“แž€แžถแžšแž€แŸ‚แž”แŸ’แžšแŸ‚แž€แŸแžŠแŸ„แž™แŸ” แž›แŸแžแž€แžผแžŠแž…แž„แž€แŸ’แžšแž„แžแŸ’แžšแžผแžœแž”แžถแž“แžŸแžšแžŸแŸแžšแž‡แžถแž‚แŸ’แžšแžธแžŸแŸ’แžแžถแž›แŸ‹ แž“แžทแž„แž…แŸ‚แž€แž…แžถแž™แž€แŸ’แžšแŸ„แž˜แžขแžถแž‡แŸ’แž‰แžถแž”แŸแžŽแŸ’แžŽ Apache 2.0 แŸ”

แž—แžถแžŸแžถแž”แŸ’แžšแžพแž€แžถแžšแžแŸ’แžšแžฝแžแž–แžทแž“แžทแžแŸ’แž™แž”แŸ’แžšแž—แŸแž‘แž‹แžทแžแžทแžœแž“แŸ’แž แžŠแŸ‚แž›แžแŸ’แžšแžผแžœแž”แžถแž“แžขแž“แžปแžœแžแŸ’แžแžŠแŸ„แž™แž˜แžทแž“แž…แžถแŸ†แž”แžถแž…แŸ‹แž”แž‰แŸ’แž‡แžถแž€แŸ‹แž™แŸ‰แžถแž„แž…แŸ’แž”แžถแžŸแŸ‹แžขแŸ†แž–แžธแž”แŸ’แžšแž—แŸแž‘แžขแžแŸแžš แž“แžทแž„แžขแžถแž‚แžปแž™แž˜แŸ‰แž„แŸ‹แžœแžทแž’แžธแžŸแžถแžŸแŸ’แžแŸ’แžšแž€แŸ’แž“แžปแž„แž€แžผแžŠแŸ” แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž‚แŸ’แžšแžธแžŸแŸ’แžแžถแž›แŸ‹แžแŸ’แžšแžผแžœแž”แžถแž“แž…แž„แž€แŸ’แžšแž„แž‡แžถแžฏแž€แžŸแžถแžšแžŠแŸ‚แž›แžขแžถแž…แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž”แžถแž“ แž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แžถแžšแžœแžถแž™แžแž˜แŸ’แž›แŸƒแž˜แŸ‰แžถแž€แŸ’แžšแžผ แž“แžทแž„แž”แž„แŸ’แž€แžพแžแž€แžผแžŠแž“แŸ…แž–แŸแž›แž…แž„แž€แŸ’แžšแž„แŸ” แž“แŸ…แž€แŸ’แž“แžปแž„แž€แž˜แŸ’แž˜แžœแžทแž’แžธ Crystal แžœแžถแžขแžถแž…แž—แŸ’แž‡แžถแž”แŸ‹แž€แžถแžšแž…แž„แžŠแŸ‚แž›แžŸแžšแžŸแŸแžšแž€แŸ’แž“แžปแž„ C แŸ” แž—แžถแž–แžŸแŸ’แžšแž”แž‚แŸ’แž“แžถแž“แŸƒแž€แžถแžšแž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžผแžŠแžแŸ’แžšแžผแžœแž”แžถแž“แžขแž“แžปแžœแžแŸ’แžแžŠแŸ„แž™แž”แŸ’แžšแžพแž–แžถแž€แŸ’แž™แž‚แž“แŸ’แž›แžนแŸ‡ "แž”แž„แŸ’แž€แžพแž" แžŠแŸ‚แž›แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แžขแŸ’แž“แž€แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž€แžทแž…แŸ’แž…แž€แžถแžšแž•แŸ’แž‘แŸƒแžแžถแž„แž€แŸ’แžšแŸ„แž™แžŠแŸ„แž™แžขแžŸแž˜แž€แžถแž›แžŠแŸ„แž™แž˜แžทแž“แžšแžถแžšแžถแŸ†แž„แžแŸ’แžŸแŸ‚แžŸแŸ’แžšแžกแžถแž™แž˜แŸแž€แŸ’แž“แžปแž„แž‘แž˜แŸ’แžšแž„แŸ‹แž‡แžถแžแŸ’แžŸแŸ‚แžŸแŸ’แžแžพแž„แžŠแŸ‚แž›แž แŸ…แžแžถแžŸแžšแžŸแŸƒแŸ”

แž”แžŽแŸ’แžŽแžถแž›แŸแž™แžŸแŸ’แžŠแž„แŸ‹แžŠแžถแžšแž•แŸ’แžแž›แŸ‹แž“แžผแžœแžŸแŸ†แžŽแžปแŸ†แž˜แžปแžแž„แžถแžšแž‘แžผแž‘แŸ…แžŠแŸแž’แŸ†แž˜แžฝแž™ แžšแžฝแž˜แž‘แžถแŸ†แž„แžงแž”แž€แžšแžŽแŸแžŸแž˜แŸ’แžšแžถแž”แŸ‹แžŠแŸ†แžŽแžพแžšแž€แžถแžš CSV YAML แž“แžทแž„ JSON แžŸแž˜แžถแžŸแž’แžถแžแžปแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž”แž„แŸ’แž€แžพแžแž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸ HTTP แž“แžทแž„แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžš WebSocket แŸ” แž€แŸ†แžกแžปแž„แž–แŸแž›แžŠแŸ†แžŽแžพแžšแž€แžถแžšแžขแž—แžทแžœแžŒแŸ’แžแž“แŸ แžœแžถแž„แžถแž™แžŸแŸ’แžšแžฝแž›แž”แŸ’แžšแžพแž–แžถแž€แŸ’แž™แž”แž‰แŸ’แž‡แžถ "แž›แŸแž„แž‚แŸ’แžšแžธแžŸแŸ’แžแžถแž›แŸ‹" แžŠแŸ‚แž›แž”แž„แŸ’แž€แžพแžแž…แŸ†แžŽแžปแž…แž”แŸ’แžšแž‘แžถแž€แŸ‹แž‚แŸแž แž‘แŸ†แž–แŸแžš (แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แžผแž›แžŠแŸ’แž‹แžถแž“: 8080 แžแžถแž˜แž›แŸ†แž“แžถแŸ†แžŠแžพแž˜) แžŸแž˜แŸ’แžšแžถแž”แŸ‹แžŠแŸ†แžŽแžพแžšแž€แžถแžšแžขแž“แŸ’แžแžšแž€แž˜แŸ’แž˜แž“แŸƒแž€แžผแžŠแž‡แžถแž—แžถแžŸแžถแž‚แŸ’แžšแžธแžŸแŸ’แžแžถแž›แŸ‹แŸ”

แž€แžถแžšแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแžŸแŸ†แžแžถแž“แŸ‹แŸ—แŸ–

  • แžขแŸ’แž“แž€แž…แž„แž€แŸ’แžšแž„แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž€แžถแžšแžแŸ’แžšแžฝแžแž–แžทแž“แžทแžแŸ’แž™แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž†แŸ’แž›แžพแž™แž†แŸ’แž›แž„แž“แŸƒแžˆแŸ’แž˜แŸ„แŸ‡แžขแžถแž‚แžปแž™แž˜แŸ‰แž„แŸ‹แž€แŸ’แž“แžปแž„แž€แžถแžšแžขแž“แžปแžœแžแŸ’แžแžœแžทแž’แžธแžŸแžถแžŸแŸ’แžแŸ’แžšแžขแžšแžผแž”แžธ แž“แžทแž„แž€แŸ’แž“แžปแž„แž“แžทแž™แž˜แž“แŸแž™แžšแž”แžŸแŸ‹แžœแžถแŸ” แž”แŸ’แžšแžŸแžทแž“แž”แžพแž˜แžถแž“แžˆแŸ’แž˜แŸ„แŸ‡แž˜แžทแž“แžแŸ’แžšแžผแžœแž‚แŸ’แž“แžถ แž€แžถแžšแž–แŸ’แžšแž˜แžถแž“แž˜แžฝแž™แžแŸ’แžšแžผแžœแž”แžถแž“แž…แŸแž‰แžฅแžกแžผแžœแž“แŸแŸ‡แŸ– แžแŸ’แž“แžถแž€แŸ‹ abstract FooAbstract abstract def foo(number : Int32): Nil end class Foo < FooAbstract def foo(name : Int32): Nil p name end 6 | def foo(แžˆแŸ’แž˜แŸ„แŸ‡ : Int32): Nil ^โ€” แž€แžถแžšแž–แŸ’แžšแž˜แžถแž“แŸ– แž”แŸ‰แžถแžšแŸ‰แžถแž˜แŸ‰แŸ‚แžแŸ’แžšแž‘แžธแžแžถแŸ†แž„ 'แžˆแŸ’แž˜แŸ„แŸ‡' แžแŸ’แžšแžผแžœแž‚แŸ’แž“แžถแž‘แŸ…แž“แžนแž„แž”แŸ‰แžถแžšแŸ‰แžถแž˜แŸ‰แŸ‚แžแŸ’แžš 'แž…แŸ†แž“แžฝแž“' แž“แŸƒแžœแžทแž’แžธแžŸแžถแžŸแŸ’แžแŸ’แžšแž”แžŠแžทแžŸแŸแž’ FooAbstract#foo(แž›แŸแž : Int32) แžŠแŸ‚แž›แž˜แžถแž“แžˆแŸ’แž˜แŸ„แŸ‡แž•แŸ’แžŸแŸแž„ แž แžพแž™แžขแžถแž…แž”แŸ‰แŸ‡แž–แžถแž›แŸ‹แžŠแž›แŸ‹แž€แžถแžšแž†แŸ’แž›แž„แž€แžถแžแŸ‹แžขแžถแž‚แžปแž™แž˜แŸ‰แž„แŸ‹แžŠแŸ‚แž›แž˜แžถแž“แžˆแŸ’แž˜แŸ„แŸ‡
  • แž“แŸ…แž–แŸแž›แž€แŸ†แžŽแžแŸ‹ argument แž˜แžฝแž™แž‘แŸ… method untyped แž‘แŸ…แž“แžนแž„แžแž˜แŸ’แž›แŸƒแž“แŸƒ variable แž“แŸ„แŸ‡ argument แž–แŸแž›แž“แŸแŸ‡แžแŸ’แžšแžผแžœแžŠแžถแž€แŸ‹แž€แŸ†แž แžทแžแž‘แŸ…แž“แžนแž„แž”แŸ’แžšแž—แŸแž‘แž“แŸƒ variable แž“แŸ„แŸ‡แŸ” class Foo @x : Int64 def initialize(x) @x = x # parameter x แž“แžนแž„แžแŸ’แžšแžผแžœแž”แžถแž“แžœแžถแž™แž”แž‰แŸ’แž…แžผแž› @x end end
  • แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แžขแŸ’แž“แž€แž”แž“แŸ’แžแŸ‚แž˜แž…แŸ†แžŽแžถแžšแž–แž“แŸ’แž™แž›แŸ‹แž‘แŸ…แž”แŸ‰แžถแžšแŸ‰แžถแž˜แŸ‰แŸ‚แžแŸ’แžšแž“แŸƒแžœแžทแž’แžธแžŸแžถแžŸแŸ’แžšแŸ’แžแžฌแž˜แŸ‰แžถแž€แŸ’แžšแžผแŸ” def foo(@[MaybeUnused] x); แž”แž‰แŸ’แž…แž”แŸ‹ # แž™แž›แŸ‹แž–แŸ’แžšแž˜
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แžแŸแžšแž‡แžถแžŸแž“แŸ’แž‘แžŸแŸ’แžŸแž“แŸ แž“แžทแž„แžˆแŸ’แž˜แŸ„แŸ‡แž“แŸ…แž€แŸ’แž“แžปแž„ tuples แŸ” KEY = "s" foo = {s: "String", n: 0} แžŠแžถแž€แŸ‹ foo[KEY].size
  • แžœแžทแž’แžธแžŸแžถแžŸแŸ’แžแŸ’แžšแžฏแž€แžŸแžถแžš#แž›แžปแž”แžแŸ’แž˜แžธแžแŸ’แžšแžผแžœแž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž‘แŸ… File API แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž›แžปแž”แžฏแž€แžŸแžถแžš แž“แžทแž„แžแžแžฏแž€แžŸแžถแžšแŸ” แž“แžทแž„ Dir#delete? แžŠแŸ‚แž›แžแŸ’แžšแžกแž”แŸ‹แž˜แžทแž“แž–แžทแž แž”แŸ’แžšแžŸแžทแž“แž”แžพแžฏแž€แžŸแžถแžš แžฌแžแžแž”แžถแžแŸ‹แŸ”
  • แž€แžถแžšแž€แžถแžšแž–แžถแžšแž“แŸƒแžœแžทแž’แžธแžŸแžถแžŸแŸ’แžแŸ’แžš File.tempfile แžแŸ’แžšแžผแžœแž”แžถแž“แž–แž„แŸ’แžšแžนแž„ แžŠแŸ‚แž›แžฅแžกแžผแžœแž“แŸแŸ‡แž˜แžทแž“แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แž˜แžถแž“แžแžฝแžขแž€แŸ’แžŸแžšแž‘แž‘แŸแž“แŸ…แž€แŸ’แž“แžปแž„แž”แž“แŸ’แž‘แžถแžแŸ‹แžŠแŸ‚แž›แž”แž„แŸ’แž€แžพแžแž‡แžถแžˆแŸ’แž˜แŸ„แŸ‡แžฏแž€แžŸแžถแžšแž“แŸ„แŸ‡แž‘แŸแŸ”
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แžขแžแŸแžšแž”แžšแžทแžŸแŸ’แžแžถแž“ NO_COLOR แžŠแŸ‚แž›แž”แžทแž‘แž€แžถแžšแž”แž“แŸ’แž›แžทแž…แž–แžŽแŸŒแž“แŸ…แž€แŸ’แž“แžปแž„แž›แž‘แŸ’แž’แž•แž›แžขแŸ’แž“แž€แž…แž„แž€แŸ’แžšแž„ แž“แžทแž„แžขแŸ’แž“แž€แž”แž€แž”แŸ’แžšแŸ‚แŸ”
  • แž€แžถแžšแž„แžถแžšแž“แŸ…แž€แŸ’แž“แžปแž„แžšแž”แŸ€แž”แžขแŸ’แž“แž€แž”แž€แž”แŸ’แžšแŸ‚แžแŸ’แžšแžผแžœแž”แžถแž“แž’แŸ’แžœแžพแžฑแŸ’แž™แž”แŸ’แžšแžŸแžพแžšแžกแžพแž„แž™แŸ‰แžถแž„แžแŸ’แž›แžถแŸ†แž„แŸ”

แž”แŸ’แžšแž—แž–: opennet.ru

แž”แž“แŸ’แžแŸ‚แž˜แž˜แžแžทแž™แŸ„แž”แž›แŸ‹