ืžืขืœื“ื•ื ื’ ืคื•ืŸ ื“ื™ ืงืจื™ืกื˜ืึทืœ ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืฉืคึผืจืึทืš 1.16

ื“ื™ ืžืขืœื“ื•ื ื’ ืคื•ืŸ ื“ื™ Crystal 1.16 ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืฉืคึผืจืึทืš ืื™ื– ืืจื•ื™ืก, ื“ื™ ื“ืขื•ื•ืขืœืึธืคึผืขืจืก ืคื•ืŸ ื•ื•ืึธืก ื–ืขื ืขืŸ ื˜ืจื™ื™ื ื’ ืฆื• ืคืึทืจื‘ื™ื ื“ืŸ ื“ื™ ืงืึทื ื•ื•ื™ื ื™ืึทื ืก ืคื•ืŸ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืื™ืŸ ื“ื™ ืจื•ื‘ื™ ืฉืคึผืจืึทืš ืžื™ื˜ ื“ื™ ื”ื•ื™ืš ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืคืึธืจืฉื˜ืขืœื•ื ื’ ื›ืึทืจืึทืงื˜ืขืจื™ืกื˜ื™ืฉ ืคื•ืŸ ื“ื™ C ืฉืคึผืจืึทืš. ืงืจื™ืกื˜ืึทืœ ืก ืกื™ื ื˜ืึทืงืก ืื™ื– ื ืึธืขื ื˜ ืฆื•, ืึธื‘ืขืจ ื ื™ืฉื˜ ื’ืึธืจ ืงืึทืžืคึผืึทื˜ืึทื‘ืึทืœ ืžื™ื˜, ืจื•ื‘ื™, ื›ืึธื˜ืฉ ืขื˜ืœืขื›ืข ืจื•ื‘ื™ ืžื’ื™ืœื” ืœื•ื™ืคืŸ ืึธืŸ ืžืึทื“ืึทืคืึทืงื™ื™ืฉืึทืŸ. ื“ืขืจ ืงืึทืžืคึผื™ื™ืœืขืจ ืงืึธื“ ืื™ื– ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ ืงืจื™ืกื˜ืึทืœ ืื•ืŸ ืคื•ื ืื ื“ืขืจื’ืขื˜ื™ื™ืœื˜ ืื•ื ื˜ืขืจ ื“ื™ ืึทืคึผืึทื˜ืฉื™ 2.0 ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ.

ื“ื™ ืฉืคึผืจืึทืš ื ื™ืฆื˜ ืกื˜ืึทื˜ื™ืง ื˜ื™ืคึผ ืงืึธื ื˜ืจืึธืœื™ืจื•ื ื’, ื•ื•ืึธืก ืื™ื– ื™ืžืคึผืœืึทืžืขื ืึทื“ ืึธืŸ ื“ื™ ื ื•ื™ื˜ื™ืง ืฆื• ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ื“ื™ ื˜ื™ื™ืคึผืก ืคื•ืŸ ื•ื•ืขืจื™ืึทื‘ืึทืœื– ืื•ืŸ ืื•ืคึฟืŸ ืึทืจื’ื•ืžืขื ื˜ืŸ ืื™ืŸ ื“ืขื ืงืึธื“. ืงืจื™ืกื˜ืึทืœ ืžื’ื™ืœื” ื–ืขื ืขืŸ ืงืึทืžืคึผื™ื™ืœื“ ืื™ืŸ ืขืงืกืขืงื•ื˜ืึทื‘ืœืข ื˜ืขืงืขืก, ืžื™ื˜ ืžืึทืงืจืึธืก ืขื•ื•ืึทืœื•ืึทื˜ืขื“ ืื•ืŸ ืงืึธื“ ื“ื–ืฉืขื ืขืจื™ื™ื˜ืึทื“ ืื™ืŸ ื“ื™ ืฆื•ื ื•ื™ืคื ืขืžืขืŸ ืฆื™ื™ื˜. ืื™ืŸ ืงืจื™ืกื˜ืึทืœ ืžื’ื™ืœื”, ืขืก ืื™ื– ืžืขื’ืœืขืš ืฆื• ืคืึทืจื‘ื™ื ื“ืŸ ื‘ื™ื™ื ื“ื™ื ื’ื– ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ C. ืคึผืึทืจืึทืœืขืœื™ื–ืึทื˜ื™ืึธืŸ ืคื•ืŸ ืงืึธื“ ื“ื•ืจื›ืคื™ืจื•ื ื’ ืื™ื– ื“ื•ืจื›ื’ืขืงืึธื›ื˜ ืžื™ื˜ ื“ื™ "ืจื•ื™ื’" ืงื™ื•ื•ืขืจื“, ื•ื•ืึธืก ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืœื•ื™ืคืŸ ืึท ื”ื™ื ื˜ืขืจื’ืจื•ื ื˜ ืึทืจื‘ืขื˜ ืื™ืŸ ื™ื™ืกื™ื ื’ืงืจืึทื ืึทืก ืžืึธื“ืข ืึธืŸ ื‘ืœืึทืงื™ื ื’ ื“ื™ ื”ื•ื™ืคึผื˜ ืคืึธื“ืขื, ืื™ืŸ ื“ื™ ืคืึธืจืขื ืคื•ืŸ ืœื™ื™ื˜ื•ื•ื™ื™ื˜ ืคึฟืขื“ืขื ื’ืขืจื•ืคืŸ ืคื™ื™ื‘ืขืจื–.

ื“ื™ ืกื˜ืึทื ื“ืึทืจื˜ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ื’ื™ื˜ ืึท ืกื›ื•ื ื˜ื™ืคึผื™ืฉืข ืคื•ื ืงืฆื™ืขืก, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืžื›ืฉื™ืจื™ื ืคึฟืึทืจ ืคึผืจืึทืกืขืกื™ื ื’ CSV, YAML ืื•ืŸ JSON, ืงืึธืžืคึผืึธื ืขื ื˜ืŸ ืคึฟืึทืจ ืฉืึทืคึฟืŸ HTTP ืกืขืจื•ื•ืขืจืก ืื•ืŸ ื•ื•ืขื‘ืกืึธืงืขื˜ ืฉื˜ื™ืฆืข. ื‘ืขืช ื“ืขืจ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’, ืงืขื ื˜ ืื™ืจ ื ื•ืฆืŸ ื“ืขื "ืงืจื™ืกื˜ืึทืœ ืคึผืœื™ื™" ื‘ืึทืคึฟืขืœ, ื•ื•ืึธืก ื“ื–ืฉืขื ืขืจื™ืจื˜ ืึท ื•ื•ืขื‘ ืฆื•ื‘ื™ื ื“ (ืœืึธืงืึทืœื”ืึธืกื˜:8080 ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜) ืคึฟืึทืจ ืื™ื ื˜ืขืจืึทืงื˜ื™ื•ื• ื“ื•ืจื›ืคื™ืจื•ื ื’ ืคื•ืŸ ืงืจื™ืกื˜ืึทืœ ืงืึธื“.

ื”ื•ื™ืคึผื˜ ืขื ื“ืขืจื•ื ื’ืขืŸ:

  • ืฆื•ื’ืขื’ืขื‘ืŸ ืขืงืกืคึผืขืจื™ืžืขื ื˜ืึทืœืข ืฉื˜ื™ืฆืข ืคึฟืึทืจ ืœื•ื™ืคืŸ ืœื™ื™ื›ื˜ืข ืคึฟืขื“ืขื (ืคึฟืฒึทื‘ืขืจ) ืื™ืŸ ื‘ืึทื–ื•ื ื“ืขืจืข ืขืงืกืขืงื•ืฆื™ืข ืงืึธื ื˜ืขืงืกื˜ืŸ (ืขืงืกืขืงื•ืฆื™ืข ืงืึธื ื˜ืขืงืกื˜ืŸ), ื•ื•ืึธืก ื“ืขืจืžืขื’ืœืขื›ื˜ ืžืขืจ ืขืคึฟืขืงื˜ื™ื•ื•ืข ืคึผืึทืจืึทืœืขืœืข ืขืงืกืขืงื•ืฆื™ืข ืคึฟื•ืŸ ืื•ื™ืคึฟื’ืึทื‘ืขืก - ื‘ืœืึธืงื™ืจืŸ ืคึฟืขื“ืขื ืื™ืŸ ืื™ื™ืŸ ืงืึธื ื˜ืขืงืกื˜ ืคึฟื™ืจื˜ ื ื™ืฉื˜ ืฆื• ืึทืŸ ืขืงืกืขืงื•ืฆื™ืข ืกื˜ืึธืคึผ ืื™ืŸ ืึทืŸ ืึทื ื“ืขืจืŸ. mt_context = Fiber::ExecutionContext::MultiThreaded.new("worker-threads", 4) 10 ืžืืœ ื˜ื• mt_context.spawn ื˜ื• ื˜ื•_ืขืคึผืขืก ืขื ื“ืข ืขื ื“ืข gtk = Fiber::ExecutionContext::Isolated.new("Gtk") ื˜ื• Gtk.main ืขื ื“ืข gtk.wait
  • ื“ื™ Slice.literal ืื•ืคึฟืŸ ืื™ืฆื˜ ื’ื™ื˜ ืจืขื–ื•ืœื˜ืึทื˜ ืคื•ืŸ ื“ื™ ื˜ื™ืคึผ ืคื•ืŸ ืขืœืขืžืขื ื˜ืŸ ืงืึทื ื˜ื™ื™ื ื“ ืื™ืŸ ืึท ืจืขืคื˜ืœ, ืื•ืŸ ืžื•ืกื™ืฃ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืืจื‘ืขื˜ืŸ ืื™ืŸ ืึทืŸ ื™ื‘ืขืจื–ืขืฆืขืจ.
  • ื“ื™ ื’ืจื™ื™ืก ืคื•ืŸ ืื•ืŸ ืึทืœื™ื™ื  ืคื•ืŸ ืžืึทืงืจืึธืก ืฆื•ืฉื˜ืขืœืŸ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ืกื˜ืึทื‘ื™ืœ ื˜ื™ื™ืคึผืก.
  • ื ื™ื™ืข ืžืขื˜ืึธื“ืŸ ื–ืขื ืขืŸ ืฆื•ื’ืขื’ืขื‘ืŸ ื’ืขื•ื•ืึธืจืŸ ืฆื• ื“ืขืจ ืกื˜ืึทื ื“ืึทืจื˜ ื‘ื™ื‘ืœื™ืึธื˜ืขืง: Indexable#find, #find!, EventLoop#wait_readable, ืื•ืŸ #wait_writable.
  • ื“ืขืจ ืงืึธืžืคึผื™ื™ืœืขืจ ื”ืื˜ ืึท ืœืึทื ื’ืข ื•ื•ืขืจืกื™ืข ืคึฟื•ืŸ ื“ืขืจ "-o" ืึธืคึผืฆื™ืข, "--output", ืื•ืŸ ื“ื™ ืžืขื’ืœืขื›ืงื™ื™ื˜ ืฆื• ืกืคึผืขืฆื™ืคึฟื™ืฆื™ืจืŸ ืึท ื“ื™ืจืขืงื˜ืึธืจื™ ืึทื ืฉื˜ืึธื˜ ืึท ื˜ืขืงืข ืื™ื– ืื™ืžืคึผืœืขืžืขื ื˜ื™ืจื˜ ื’ืขื•ื•ืึธืจืŸ (ื“ืขืจ ื˜ืขืงืข ื ืึธืžืขืŸ ื•ื•ืขื˜ ืื•ื™ืกื’ืขืงืœื™ื‘ืŸ ื•ื•ืขืจืŸ ืœื•ื™ื˜ืŸ ื ืึธืžืขืŸ ืคึฟื•ืŸ ื“ืขืจ ื˜ืขืงืข ืžื™ื˜ืŸ ืงืึธื“).
  • ื“ื™ ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ ื’ืขื ืขืจืึทื˜ืึธืจ ืื™ืฆื˜ ื”ืื˜ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืึทืจื™ื™ึทื ื ืขืžืขืŸ ืคึผืจื™ื•ื•ืึทื˜ ืื•ืŸ ืคึผืจืึธื˜ืขืงื˜ืขื“ ืึทื‘ื“ื–ืฉืขืงืฅ, ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ืึทื‘ื“ื–ืฉืขืงืฅ ืื™ืŸ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ื‘ื™ื™ื ื“ื™ื ื’ื– (ืœื™ื‘, ืฉืคึผืึทืก, ื™ื•ื ื™ืึทืŸ, ืงืกื˜ืจื•ืงื˜, ืคื•ื ื“ืจื•ื™ืกื ื“ื™ืง, ื˜ื™ืคึผ) ืื™ืŸ ื“ื™ ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ.
  • ืื™ืŸ ื“ื™ "File.match?" ืžืขื˜ืึธื“ ื ื ื™ื™ึทืข ืึทืœื’ืขืจื™ื“ืึทื ืคึฟืึทืจ ื˜ืขืงืข ื“ืจืš ื•ื•ืึธืก ืจื™ื›ื˜ืŸ ื–ื™ืš ืื™ื– ื™ืžืคึผืœืึทืžืขื ืึทื“, ื•ื•ืึธืก ื”ืื˜ ื™ืœื™ืžืึทื ื™ื™ื˜ืึทื“ ืขื˜ืœืขื›ืข ืคึผืจืึธื‘ืœืขืžืก ืื•ืŸ ืœื™ืžื™ื˜ื™ื™ืฉืึทื ื–. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ื›ืึทืจืึทืงื˜ืขืจ ืึทื ื˜ืœื•ื™ืคืŸ (ื“ื™ "\\t" ืžืึทืกืงืข ืฉื•ื•ืขื‘ืขืœืขืš "\t" ืึธื‘ืขืจ ื ื™ืฉื˜ ื“ื™ "ื”" ื›ืึทืจืึทืงื˜ืขืจ), ื“ืจืš ืกืคึผืœื™ื˜ื™ื ื’ (ื“ื™ "ืึท**" ืžืึทืกืงืข ืฉื•ื•ืขื‘ืขืœืขืš "ืึทื‘" ืึธื‘ืขืจ ืคื™ื™ืœื– ืคึฟืึทืจ "ืึทื‘ / c", ื‘ืฉืขืช ื“ื™ "**/ืึท" ืžืึทืกืงืข ืฉื•ื•ืขื‘ืขืœืขืš "ืึท"), ื ืขืกื˜ืขื“ ืคึผืึทื˜ืขืจื ื– (ื“ื™ "{[}]}" ืžืึทืกืงืข ืฉื•ื•ืขื‘ืขืœืขืš "}"), ืื•ืŸ ืฉื•ื•ืขื‘ืขืœืขืš ืื™ืฆื˜ "- ื“ื™ ืžืึทืกืงืข ืื™ื– ืจื™ื›ื˜ื™ืง"
  • ื“ื™ ืกืึทืคื™ืงืก "?" ื”ืึธื‘ืŸ ืฉื•ื™ืŸ ื“ื™ืคึผืจื™ืฉื™ื™ื™ื˜ื™ื“ ืื™ืŸ ื“ื™ ื ืขืžืขืŸ ืคื•ืŸ ืคึผืึทืจืึทืžืขื˜ืขืจืก ืื™ืŸ ื–ื•ืš (ื“ืขืคืก), ืžืึทืงืจืึธืก ืื•ืŸ ื‘ืœืึทืงืก. ืื•ืŸ "!".
  • ืื™ืŸ ื“ื™ Enumerable#sum ืื•ืŸ #product ืžืขื˜ืึธื“ืŸ, ืื™ื– ื“ื™ ืื•ื™ื˜ืึธืžืึทื˜ื™ืฉืข ื‘ืึทืฉื˜ื™ืžื•ื ื’ ืคื•ืŸ ื“ืขื ืฆื•ืจื™ืงืงืขืจ ื˜ื™ืคึผ ืึทื•ื•ืขืงื’ืขื ื•ืžืขืŸ ื’ืขื•ื•ืึธืจืŸ ืื•ื™ื‘ ื“ืขืจ ืขืœืขืžืขื ื˜ ื˜ื™ืคึผ ืื™ื– ืึท ื™ื•ื ื™ืึธืŸ. ื•ื•ืขืŸ ืื™ืจ ืจื•ืคื˜ ื“ื™ ืžืขื˜ืึธื“ืŸ, ื“ืึทืจืคื˜ ืื™ืจ ืื™ืฆื˜ ืขืงืกืคึผืœื™ืฆื™ื˜ ืกืคึผืขืฆื™ืคึฟื™ืฆื™ืจืŸ ื“ืขื ื˜ื™ืคึผ, ืœืžืฉืœ, ืึทื ืฉื˜ืึธื˜ "[1, 10000000000_u64].sum" ื–ืึธืœื˜ ืื™ืจ ืฉืจืฒึทื‘ืŸ "[1, 10000000000_u64].sum(0_u64)".
  • ื”ื˜ื˜ืคึผ :: ื‘ืขื˜ืŸ ื™ื ืฉื•ืจื– ืจื™ื›ื˜ื™ืง ืคึผืึทืจืกื™ื ื’ ืคื•ืŸ URL ืคึผืึทืจืฅ.
  • ืฆื•ื’ืขื’ืขื‘ืŸ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื™ LLVM 20 ืงืึทืžืคึผื™ื™ืœืขืจ ืกื•ื•ื™ื˜.
  • ื“ื™ ืจื•ืคืŸ ืฆื• LLVM::ABI ืื•ืŸ LLVM::TargetMachine#abi ื–ืขื ืขืŸ ื“ื™ืคึผืจื™ืฉื™ื™ื™ื˜ื™ื“.

    ืžืงื•ืจ: opennet.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’