Foinse oscailte do Luau, leagan seiceála cineáil den teanga Lua

D’fhógair foinse oscailte agus foilsiú an chéad eisiúint neamhspleách de theanga ríomhchlárúcháin Luau, ag leanúint le forbairt na teanga Lua agus ag luí siar le Lua 5.1. Tá an teanga Luau dírithe go príomha chun innill scripte a leabú i bhfeidhmchláir agus tá sé mar aidhm aici ardfheidhmíocht agus tomhaltas íseal acmhainní a bhaint amach. Tá cód an tionscadail scríofa i C++ agus tá sé oscailte faoin gceadúnas MIT.

Síneann Luau le Lua le cumas seiceála cineáil agus le roinnt cumraíochtaí comhréire nua cosúil le sreanglitreacha. Tá an teanga comhoiriúnach siar le Lua 5.1 agus i bpáirt le leaganacha níos nuaí. Tacaítear le Lua Runtime API, rud a ligeann duit Luau a úsáid leis an gcód agus na ceangail atá ann cheana féin. Tá an t-am rite teanga bunaithe ar chód ama rite Lua 5.1 atá athoibrithe go mór, ach tá an t-ateangaire athscríofa go hiomlán. Le linn na forbartha, baineadh úsáid as roinnt teicnící leas iomlán a bhaint nua chun feidhmíocht níos airde a bhaint amach i gcomparáid le Lua.

D'fhorbair Roblox an tionscadal agus úsáidtear é i gcód ardán cearrbhachais, cluichí, agus feidhmchláir úsáideoirí na cuideachta seo, lena n-áirítear eagarthóir Roblox Studio. Ar dtús, forbraíodh Luau taobh thiar de dhoirse dúnta, ach sa deireadh socraíodh é a aistriú chuig an gcatagóir de thionscadail oscailte le haghaidh tuilleadh forbartha comhpháirteach le rannpháirtíocht an phobail.

Príomhghnéithe:

  • Clóscríobh de réir a chéile, ag áitiú suíomh idirmheánach idir clóscríobh dinimiciúil agus statach. Ligeann Luau duit clóscríobh statach a úsáid de réir mar is gá trí fhaisnéis chineáil a shonrú trí nótaí speisialta. Soláthraítear na cineálacha ionsuite "aon", "nialas", "boolean", "uimhir", "teaghrán" agus "snáithe". Ag an am céanna, caomhnaítear an fhéidearthacht clóscríobh dinimiciúil a úsáid gan an cineál athróg agus feidhmeanna a shainiú go sainráite. feidhm foo(x: uimhir, y: teaghrán): boolean áitiúil k: teaghrán = y: rep(x) ais k == deireadh “a”
  • Tacaíocht do litreacha teaghrán (mar atá i Lua 5.3) mar "\0x**" (uimhir heicsidheachúlach), "\u{**}" (carachtar Unicode) agus "\z" (deireadh na líne), chomh maith le cumas formáidiú uimhreach a shamhlú (is féidir leat 1_000_000 a scríobh in ionad 1000000), liteartha le haghaidh heicsidheachúlach (0x...) agus uimhreacha dénártha (0b......).
  • Tacaíocht don slonn "leanúint", ag comhlánú an eochairfhocail "sos" atá ann cheana féin, chun léim chuig atriall lúb nua.
  • Tacaíocht d’oibreoirí sannachán cumaisc (+=, -=, *=, /=, %=, ^=, ..=).
  • Tacaíocht le húsáid bloic choinníollach "más rud é-ansin-eile" i bhfoirm nathanna a thugann ar ais an luach a ríomhadh le linn an bloc a chur i gcrích. Is féidir leat líon treallach slonn otherif a shonrú i mbloc. áitiúil maxValue = má tá a > b ansin comhartha áitiúil eile b = má tá x < 0 ansin -1 eileif x > 0 ansin 1 eile 0
  • An láithreacht de mhodh leithlis (bosca gainimh), a ligeann duit a rith cód untrustworthy. Is féidir an ghné seo a úsáid chun an seoladh a eagrú taobh le taobh de do chód féin agus cód scríofa ag forbróir eile, mar shampla, leabharlanna tríú páirtí nach féidir a chinntiú go sábháilteacht.
  • Teorainn ar an leabharlann chaighdeánach ónar baineadh feidhmeanna a d'fhéadfadh fadhbanna slándála a chruthú. Mar shampla, na leabharlanna “io” (comhaid a rochtain agus próisis seolta), “pacáiste” (comhaid a rochtain agus modúil a luchtú), “OS” (feidhmeanna chun comhaid a rochtain agus athróga timpeallachta a athrú), “debug” (oibríocht neamhshábháilte le cuimhne) , “dofile” agus “loadfile” (rochtain FS).
  • Uirlisí a sholáthar le haghaidh anailíse cód statach, braite earráide (linter) agus seiceáil úsáid cheart cineálacha.
  • Parsálaí ardfheidhmíochta féin, ateangaire beart-chóid agus tiomsaitheoir. Ní thacaíonn Luau le tiomsú JIT fós, ach tá sé á éileamh go bhfuil an t-ateangaire Luau sách inchomparáide ó thaobh feidhmíochta le LuaJIT i gcásanna áirithe.

Foinse: oscailtenet.ru

Add a comment