Crystal แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ”แƒœแƒ˜แƒก แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒ 1.2

แƒ’แƒแƒ›แƒแƒฅแƒ•แƒ”แƒงแƒœแƒ“แƒ Crystal 1.2 แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ”แƒœแƒ˜แƒก แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒ, แƒ แƒแƒ›แƒšแƒ˜แƒก แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒ˜ แƒชแƒ“แƒ˜แƒšแƒแƒ‘แƒ”แƒœ แƒ’แƒแƒแƒ”แƒ แƒ—แƒ˜แƒแƒœแƒแƒœ แƒ แƒฃแƒ‘แƒ˜ แƒ”แƒœแƒแƒ–แƒ” แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒฃแƒšแƒแƒ‘แƒ C แƒ”แƒœแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒแƒ›แƒแƒฎแƒแƒกแƒ˜แƒแƒ—แƒ”แƒ‘แƒ”แƒš แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒแƒฆแƒแƒš แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒกแƒ—แƒแƒœ. Crystal-แƒ˜แƒก แƒกแƒ˜แƒœแƒขแƒแƒฅแƒกแƒ˜ แƒแƒฎแƒšแƒแƒก แƒแƒ แƒ˜แƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ แƒ แƒกแƒ แƒฃแƒšแƒแƒ“ แƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒแƒ“แƒ˜ Ruby-แƒ—แƒแƒœ, แƒ—แƒฃแƒ›แƒชแƒ แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ—แƒ˜ Ruby แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”. แƒจแƒ”แƒ›แƒ“แƒ’แƒ”แƒœแƒ”แƒšแƒ˜ แƒ™แƒแƒ“แƒ˜ แƒ˜แƒฌแƒ”แƒ แƒ”แƒ‘แƒ แƒ™แƒ แƒ˜แƒกแƒขแƒแƒšแƒจแƒ˜ แƒ“แƒ แƒœแƒแƒฌแƒ˜แƒšแƒ“แƒ”แƒ‘แƒ Apache 2.0 แƒšแƒ˜แƒชแƒ”แƒœแƒ–แƒ˜แƒ˜แƒ—.

แƒ”แƒœแƒ แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒกแƒขแƒแƒขแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒขแƒ˜แƒžแƒ˜แƒก แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ“แƒ”แƒ‘แƒ แƒ™แƒแƒ“แƒจแƒ˜ แƒชแƒ•แƒšแƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒขแƒ˜แƒžแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒ›แƒ”แƒ—แƒแƒ“แƒ˜แƒก แƒแƒ แƒ’แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ™แƒแƒคแƒ˜แƒแƒ“ แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”. แƒ™แƒ แƒ˜แƒกแƒขแƒแƒšแƒฃแƒ แƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜แƒ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒ“ แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒแƒ“, แƒ›แƒแƒ™แƒ แƒแƒ”แƒ‘แƒ˜แƒ— แƒจแƒ”แƒคแƒแƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ“แƒ แƒ™แƒแƒ“แƒ˜แƒก แƒ’แƒ”แƒœแƒ”แƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ™แƒแƒ›แƒžแƒ˜แƒšแƒแƒชแƒ˜แƒ˜แƒก แƒ“แƒ แƒแƒก. Crystal แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ”แƒ‘แƒจแƒ˜ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ C-แƒจแƒ˜ แƒ“แƒแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜ แƒกแƒแƒ™แƒ˜แƒœแƒซแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ. แƒ™แƒแƒ“แƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒžแƒแƒ แƒแƒšแƒ”แƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒ แƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ“แƒ”แƒ‘แƒ "spawn" แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒกแƒ˜แƒขแƒงแƒ•แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒจแƒ”แƒแƒกแƒ แƒฃแƒšแƒแƒ— แƒคแƒแƒœแƒฃแƒ แƒ˜ แƒ“แƒแƒ•แƒแƒšแƒ”แƒ‘แƒ แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒแƒ“, แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒซแƒแƒคแƒ˜แƒก แƒ“แƒแƒ‘แƒšแƒแƒ™แƒ•แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”, แƒ›แƒกแƒฃแƒ‘แƒฃแƒฅแƒ˜ แƒซแƒแƒคแƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒฎแƒ˜แƒ—, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒ”แƒฌแƒแƒ“แƒ”แƒ‘แƒ แƒ‘แƒแƒญแƒ™แƒแƒ”แƒ‘แƒ˜.

แƒกแƒขแƒแƒœแƒ“แƒแƒ แƒขแƒฃแƒšแƒ˜ แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก แƒกแƒแƒ”แƒ แƒ—แƒ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ˜แƒ“ แƒ™แƒแƒ›แƒžแƒšแƒ”แƒฅแƒขแƒก, แƒ›แƒแƒ— แƒจแƒแƒ แƒ˜แƒก CSV, YAML แƒ“แƒ JSON แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒฎแƒ”แƒšแƒกแƒแƒฌแƒงแƒแƒ”แƒ‘แƒก, HTTP แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒก แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ”แƒ‘แƒก แƒ“แƒ WebSocket-แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒแƒก. แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒจแƒ˜ แƒ›แƒแƒกแƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ โ€žcrystal playโ€œ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฅแƒ›แƒœแƒ˜แƒก แƒ•แƒ”แƒ‘ แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒก (แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒแƒ“ localhost:8080) แƒ™แƒแƒ“แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ แƒแƒฅแƒขแƒ˜แƒฃแƒšแƒ˜ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก Crystal แƒ”แƒœแƒแƒ–แƒ”.

แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜:

  • แƒ“แƒแƒ”แƒ›แƒแƒขแƒ แƒ–แƒแƒ’แƒแƒ“แƒ˜ แƒ™แƒšแƒแƒกแƒ˜แƒก แƒฅแƒ•แƒ”แƒ™แƒšแƒแƒกแƒ˜แƒก แƒ›แƒ˜แƒœแƒ˜แƒญแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ™แƒšแƒแƒกแƒ˜แƒก แƒ”แƒšแƒ”แƒ›แƒ”แƒœแƒขแƒก. แƒ™แƒšแƒแƒกแƒ˜ Foo(T); แƒ‘แƒแƒšแƒ แƒ™แƒšแƒแƒกแƒ˜ Bar(T) < Foo(T); แƒ‘แƒแƒšแƒ x = Foo x = แƒ‘แƒแƒ แƒ˜
  • แƒ›แƒแƒ™แƒ แƒแƒก แƒแƒฎแƒšแƒ แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒก แƒฎแƒแƒ–แƒ’แƒแƒกแƒ›แƒฃแƒšแƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒก แƒ˜แƒ’แƒœแƒแƒ แƒ˜แƒ แƒ”แƒ‘แƒ for loop-แƒจแƒ˜. {% for _, v, i in {1 => 2, 3 => 4, 5 => 6} %} p {{v + i}} {% แƒ“แƒแƒกแƒแƒกแƒ แƒฃแƒšแƒ˜ %}
  • แƒ›แƒแƒ™แƒ แƒแƒ”แƒ‘แƒก แƒ“แƒแƒ”แƒ›แƒแƒขแƒ โ€žfile_exists?โ€œ แƒ›แƒ”แƒ—แƒแƒ“แƒ˜. แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒšแƒแƒ“.
  • แƒกแƒขแƒแƒœแƒ“แƒแƒ แƒขแƒฃแƒšแƒ˜ แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ แƒแƒฎแƒšแƒ แƒ›แƒฎแƒแƒ แƒก แƒฃแƒญแƒ”แƒ แƒก 128-แƒ‘แƒ˜แƒขแƒ˜แƒแƒœ แƒ›แƒ—แƒ”แƒš แƒ แƒ˜แƒชแƒฎแƒ•แƒ”แƒ‘แƒก.
  • แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ Indexable::Mutable(T) แƒ›แƒแƒ“แƒฃแƒšแƒ˜ แƒ’แƒแƒคแƒแƒ แƒ—แƒแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒ— แƒ™แƒแƒšแƒ”แƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ BitArray แƒ“แƒ Deque. ba = BitArray.new(10) # ba = BitArray[0000000000] ba[0] = true # ba = BitArray[1000000000] ba.rotate!(-1) # ba = BitArray[0100000000]
  • แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ XML::Node#namespace_definition แƒ›แƒ”แƒ—แƒแƒ“แƒ˜ XML-แƒ“แƒแƒœ แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒ˜ แƒกแƒแƒฎแƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ•แƒ แƒชแƒ˜แƒก แƒแƒ›แƒแƒกแƒแƒฆแƒ”แƒ‘แƒแƒ“.
  • IO#write_utf8 แƒ“แƒ URI.encode แƒ›แƒ”แƒ—แƒแƒ“แƒ”แƒ‘แƒ˜ แƒ›แƒแƒซแƒ•แƒ”แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ“แƒ แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒ˜แƒชแƒ•แƒแƒšแƒแƒก IO#write_string แƒ“แƒ URI.encode_path-แƒ˜แƒ—.
  • 32-แƒ‘แƒ˜แƒขแƒ˜แƒแƒœแƒ˜ x86 แƒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ แƒ’แƒแƒ“แƒแƒขแƒแƒœแƒ˜แƒšแƒ˜แƒ แƒ›แƒ”แƒแƒ แƒ” แƒ“แƒแƒœแƒ”แƒ–แƒ” (แƒ›แƒ–แƒ แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜ แƒแƒฆแƒแƒ  แƒ˜แƒฅแƒ›แƒœแƒ”แƒ‘แƒ). แƒ›แƒ–แƒแƒ“แƒ“แƒ”แƒ‘แƒ ARM64 แƒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒก แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒ“แƒแƒœแƒ”แƒ–แƒ” แƒ’แƒแƒ“แƒแƒกแƒ•แƒšแƒ.
  • แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ แƒ’แƒ แƒซแƒ”แƒšแƒ“แƒ”แƒ‘แƒ Windows แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ˜แƒก แƒกแƒ แƒฃแƒšแƒ˜ แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒก แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒกแƒแƒงแƒแƒคแƒแƒ“. แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ Windows แƒกแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ.
  • แƒฃแƒœแƒ˜แƒ•แƒ”แƒ แƒกแƒแƒšแƒฃแƒ แƒ˜ แƒžแƒแƒ™แƒ”แƒขแƒ˜ แƒ“แƒแƒ”แƒ›แƒแƒขแƒ macOS-แƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒ แƒแƒ’แƒแƒ แƒช x86 แƒžแƒ แƒแƒชแƒ”แƒกแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒฅแƒแƒœแƒ” แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ”แƒ‘แƒ–แƒ”, แƒแƒกแƒ”แƒ•แƒ” Apple M1 แƒฉแƒ˜แƒžแƒ˜แƒก แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ”แƒ‘แƒ–แƒ”.

แƒฌแƒงแƒแƒ แƒ: opennet.ru

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ