ืฉื—ืจื•ืจ ืฉืคืช ื”ืชื›ื ื•ืช Lua 5.4

ืœืื—ืจ ื—ืžืฉ ืฉื ื™ื ืฉืœ ืคื™ืชื•ื— ื–ืžื™ืŸ ืฉื—ืจื•ืจ Lua 5.4, ืฉืคืช ืชื›ื ื•ืช ืกืงืจื™ืคื˜ื™ื ืžื”ื™ืจื” ื•ืงื•ืžืคืงื˜ื™ืช ืฉื ืžืฆืืช ื‘ืฉื™ืžื•ืฉ ื ืจื—ื‘ ื›ืฉืคื” ืžืฉื•ื‘ืฆืช (ืœื“ื•ื’ืžื”, ืœื”ื’ื“ืจืช ืชืฆื•ืจื” ืื• ื›ืชื™ื‘ืช ื”ืจื—ื‘ื•ืช). ืงื•ื“ ื”ืžืชื•ืจื’ืžืŸ Lua ื›ืชื•ื‘ ื‘-C ื• ืžื•ืคืฅ ืขืœ ื™ื“ื™ ืชื—ืช ืจื™ืฉื™ื•ืŸ MIT.

Lua ืžืฉืœื‘ ืชื—ื‘ื™ืจ ืคืจื•ืฆื“ื•ืจืœื™ ืคืฉื•ื˜ ืขื ื™ื›ื•ืœื•ืช ืชื™ืื•ืจ ื ืชื•ื ื™ื ืขื•ืฆืžืชื™ื•ืช ื‘ืืžืฆืขื•ืช ืฉื™ืžื•ืฉ ื‘ืžืขืจื›ื™ื ืืกื•ืฆื™ืื˜ื™ื‘ื™ื™ื ื•ืกืžื ื˜ื™ืงื” ื”ื ื™ืชื ืช ืœื”ืจื—ื‘ื” ืฉืœ ื”ืฉืคื”. Lua ืžืฉืชืžืฉ ื‘ื”ืงืœื“ื” ื“ื™ื ืžื™ืช, ื•ืžืžื™ืจ ืžื‘ื ื” ืฉืคื” ืœืงื•ื“ ื‘ืชื™ื ืฉืคื•ืขืœ ืขืœ ื’ื‘ื™ ืžื›ื•ื ื” ื•ื™ืจื˜ื•ืืœื™ืช ืžื‘ื•ืกืกืช ืจื™ืฉื•ื ืขื ืื™ืกื•ืฃ ืืฉืคื” ืื•ื˜ื•ืžื˜ื™. ื”ืžืชื•ืจื’ืžืŸ ืขืฆืžื• ืžืขื•ืฆื‘ ื›ืกืคืจื™ื™ื” ืฉื ื™ืชืŸ ืœืฉืœื‘ ื‘ืงืœื•ืช ื‘ืคืจื•ื™ืงื˜ื™ื ื‘ืฉืคื•ืช C ื•-C++.

ื”ืขื™ืงืจื™ ื—ื™ื“ื•ืฉื™ื:

  • ืื•ืคืŸ ืคืขื•ืœื” ื—ื“ืฉ ืฉืœ ืื•ืกืฃ ื”ืืฉืคื” ื™ื•ืฉื - "ื“ื•ืจื™", ืืฉืจ ื”ืฉืœื™ื ืืช ืžืฆื‘ ืื™ืกื•ืฃ ื”ืืฉืคื” ื”ืžืฆื˜ื‘ืจ ืฉื”ื™ื” ื–ืžื™ืŸ ื‘ืขื‘ืจ. ื”ืžืฆื‘ ื”ื—ื“ืฉ ื›ื•ืœืœ ื”ืคืขืœืช ืกืจื™ืงื” ืžืงื•ืฆืจืช ื‘ืชื“ื™ืจื•ืช ื’ื‘ื•ื”ื” ื™ื•ืชืจ, ื”ืžื›ืกื” ืจืง ืื•ื‘ื™ื™ืงื˜ื™ื ืฉื ื•ืฆืจื• ืœืื—ืจื•ื ื”. ื—ืฆื™ื™ื” ืžืœืื” ืฉืœ ื›ืœ ื”ืื•ื‘ื™ื™ืงื˜ื™ื ืžืชื‘ืฆืขืช ืจืง ืื ืœืื—ืจ ื—ืฆื™ื™ื” ืงืฆืจื” ืœื ื ื™ืชืŸ ื”ื™ื” ืœื”ืฉื™ื’ ืืช ืฆืจื™ื›ืช ื”ื–ื™ื›ืจื•ืŸ ื”ืจืฆื•ื™ื”. ื’ื™ืฉื” ื–ื• ืžืืคืฉืจืช ืœื”ืฉื™ื’ ื‘ื™ืฆื•ืขื™ื ื’ื‘ื•ื”ื™ื ื™ื•ืชืจ ื•ืœื”ืคื—ื™ืช ืืช ืฆืจื™ื›ืช ื”ื–ื™ื›ืจื•ืŸ ื‘ืขืช โ€‹โ€‹ืื—ืกื•ืŸ ืžืกืคืจ ืจื‘ ืฉืœ ื—ืคืฆื™ื ื”ื—ื™ื™ื ืœื–ืžืŸ ืงืฆืจ.
  • ื ื•ืกืคื” ื”ื™ื›ื•ืœืช ืœื”ื’ื“ื™ืจ ืžืฉืชื ื™ื ืงื‘ื•ืขื™ื ื”ืžื•ื’ื“ืจื™ื ืขื ื”ืชื›ื•ื ื” "const". ื ื™ืชืŸ ืœื”ืงืฆื•ืช ืžืฉืชื ื™ื ื›ืืœื” ืจืง ืคืขื ืื—ืช ื•ืœืื—ืจ ืืชื—ื•ืœ, ืœื ื ื™ืชืŸ ืœืฉื ื•ืชื.
  • ื ื•ืกืคื” ืชืžื™ื›ื” ืœืžืฉืชื ื™ื "ืœื”ื™ื•ืช ืกื’ื•ืจ", ืืฉืจ ืžื•ืงืฆื™ื ื‘ืืžืฆืขื•ืช ื”ืชื›ื•ื ื” "close" ื•ื“ื•ืžื™ื ืœืžืฉืชื ื™ื ืžืงื•ืžื™ื™ื ืงื‘ื•ืขื™ื (ืขื ืชื›ื•ื ืช const), ื•ืฉื•ื ื™ื ืžื”ื ื‘ื›ืš ืฉื”ืขืจืš ื ืกื’ืจ (ืžืชื•ื“ืช "__close" ื ืงืจืืช) ื‘ื›ืœ ืคืขื ืฉื”ื•ื ื™ื•ืฆื ืžื”ื˜ื•ื•ื—, ืœืžืฉืœ, ืœืื—ืจ ื”ื”ืฉืœืžื” ื”ืจื’ื™ืœื” ืฉืœ ื”ื—ืกื™ืžื”, ืžืขื‘ืจ ื‘ืืžืฆืขื•ืช break/goto/return ืื• ื™ืฆื™ืื” ื›ืืฉืจ ืžืชืจื—ืฉืช ืฉื’ื™ืื”.
  • ื”ืงืœื“"ืžื™ื“ืข ืžืฉืชืžืฉ", ื”ืžืกืคืง ืืช ื”ื™ื›ื•ืœืช ืœืื—ืกืŸ ื›ืœ ื ืชื•ื ื™ C ื‘ืžืฉืชื ื™ Lua (ืžื™ื™ืฆื’ ื’ื•ืฉ ืฉืœ ื ืชื•ื ื™ื ื‘ื–ื™ื›ืจื•ืŸ ืื• ืžื›ื™ืœ ืžืฆื‘ื™ืข C), ื™ื›ื•ืœ ื›ืขืช ืœื”ื›ื™ืœ ืžืกืคืจ ืขืจื›ื™ื (ื‘ืขืœ ืžืกืคืจ metatables).
  • ืžื•ืฆื’ ื™ื™ืฉื•ื ื—ื“ืฉ ืฉืœ ื”ืคื•ื ืงืฆื™ื” ืœื”ืคืงืช ืžืกืคืจื™ื ืคืกืื•ื“ื• ืืงืจืื™ื™ื - math.random.
  • ื ื•ืกืคื” ืžืขืจื›ืช ืื–ื”ืจื•ืช ืฉื ืงื‘ืขื•ืช ื‘ืืžืฆืขื•ืช ื”ื‘ื™ื˜ื•ื™ ืœื”ื–ื”ื™ืจ ื•ื‘ื ื™ื’ื•ื“ ืœืฉื’ื™ืื•ืช, ืื™ื ื ืžืฉืคื™ืขื™ื ืขืœ ื”ืžืฉืš ื”ื”ืคืขืœื” ืฉืœ ื”ืชื•ื›ื ื™ืช.
  • ื ื•ืกืฃ ืžื™ื“ืข ืขืœ ื ื™ืคื•ื™ ื‘ืื’ื™ื ืขืœ ืืจื’ื•ืžื ื˜ื™ื ืฉืœ ืคื•ื ืงืฆื™ื” ื•ืขืจื›ื™ ื”ื—ื–ืจื”.
  • ื”ื•ืฆืขื” ืกืžื ื˜ื™ืงื” ื—ื“ืฉื” ืœืกืคื™ืจืช ืžืกืคืจื™ื ืฉืœืžื™ื ื‘ืœื•ืœืื•ืช "ืœ". ืžืกืคืจ ื”ืื™ื˜ืจืฆื™ื•ืช ืžื—ื•ืฉื‘ ืœืคื ื™ ืชื—ื™ืœืช ื”ืœื•ืœืื”, ืžื” ืฉืžื•ื ืข ื”ืฆืคืช ืžืฉืชื ื™ื ื•ืœื•ืœืื”. ืื ื”ืขืจืš ื”ื”ืชื—ืœืชื™ ื’ื“ื•ืœ ืžื”ืขืจืš ื”ืžื’ื‘ื™ืœ, ืชื•ืฆื’ ืฉื’ื™ืื”.
  • ื‘ืคื•ื ืงืฆื™ื”'string.gmatch' ื”ื•ืกื™ืฃ ืืจื’ื•ืžื ื˜ ืื•ืคืฆื™ื•ื ืœื™ ื—ื“ืฉ 'init', ืฉืงื•ื‘ืข ื‘ืื™ื–ื” ืžื™ืงื•ื ืœื”ืชื—ื™ืœ ืืช ื”ื—ื™ืคื•ืฉ (ื›ื‘ืจื™ืจืช ืžื—ื“ืœ, ืž-1 ืชื•).
  • ืชื›ื•ื ื•ืช ื—ื“ืฉื•ืช ื ื•ืกืคื• 'lua_resetthread' (ืžืืคืก ืืช ื”ืฉืจืฉื•ืจ, ืžื ืงื” ืืช ื›ืœ ืขืจื™ืžืช ื”ืฉื™ื—ื•ืช ื•ืกื’ื•ืจ ืืช ื›ืœ ื”ืžืฉืชื ื™ื "ืœืขืชื™ื ืœืกื’ื•ืจ") ื•-'coroutine.ืกื’ื•ืจ' (ืกื•ื’ืจ ืืช ื”-coroutine ื•ืืช ื›ืœ ื”ืžืฉืชื ื™ื ื”ืงืฉื•ืจื™ื "ืœืขืชื™ื ืœืกื’ื•ืจ").
  • ืคื•ื ืงืฆื™ื•ืช ืœื”ืžืจืช ืžื—ืจื•ื–ื•ืช ืœืžืกืคืจื™ื ื”ื•ืขื‘ืจื• ืœืกืคืจื™ื™ืช "ืžื—ืจื•ื–ืช".
  • ืงืจื™ืื•ืช ืœืคื•ื ืงืฆื™ื™ืช ื”ืงืฆืืช ื”ื–ื™ื›ืจื•ืŸ ืขืœื•ืœื•ืช ืœื”ื™ื›ืฉืœ ื›ืขืช ืื ื’ื•ื“ืœ ื‘ืœื•ืง ื”ื–ื™ื›ืจื•ืŸ ื™ืงื˜ืŸ.
  • ื‘ืคื•ื ืงืฆื™ื”'string.format' ื”ื•ืกื™ืคื” ืชืžื™ื›ื” ื‘ืžืคืจื˜ ื”ืคื•ืจืžื˜ ื”ื—ื“ืฉ '%p' (ืžืฆื‘ื™ืข ืฉื”ื•ื—ื–ืจ ืขืœ ื™ื“ื™ lua_topointer).
  • ืกืคืจื™ื™ืช utf8 ืžืกืคืงืช ืชืžื™ื›ื” ืงื•ื“ื™ ืชื•ื•ื™ื ืขื ืžืกืคืจื™ื ืขื“ 2^31.

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

ื”ื•ืกืคืช ืชื’ื•ื‘ื”