He puna tuwhera mo Luau, he momo taki-momo o te reo Lua

I panuitia te puna tuwhera me te whakaputanga o te whakaputanga motuhake tuatahi o te reo hootaka Luau, e haere tonu ana te whanaketanga o te reo Lua me te hototahi whakamuri ki te Lua 5.1. Ko te reo Luau te tikanga mo te whakauru i nga miihini tuhi ki roto i nga tono me te whai ki te whakatutuki i nga mahi teitei me te iti o te whakamahi rauemi. Ko te waehere kaupapa kua tuhia ki te C++ ka tuwhera i raro i te raihana MIT.

Ka toro atu a Luau i a Lua me nga kaha taki momo me etahi hanga wetereo hou penei i nga kupu aho. He hototahi whakamuri te reo ki te Lua 5.1 me etahi waahanga me nga putanga hou ake. E tautokohia ana te API Runtime Lua, ka taea e koe te whakamahi i te Luau me nga waehere me nga here. Ko te wa mahi reo e ahu mai ana i runga i te waehere 5.1 o te wa mahi a Lua, engari kua tino tuhi ano te kaiwhakamaori. I te wa o te whanaketanga, i whakamahia etahi tikanga arotautanga hou ki te whakatutuki i nga mahi teitei ake i whakaritea ki a Lua.

I whakawhanakehia te kaupapa e Roblox ka whakamahia i roto i te waehere o te papaahi petipeti, nga keemu, me nga tono a nga kaiwhakamahi o tenei kamupene, tae atu ki te ētita Roblox Studio. I te timatanga, i whakawhanakehia a Luau i muri i nga tatau kati, engari i te mutunga ka whakatauhia kia whakawhitia ki te waahanga o nga kaupapa tuwhera mo te whakawhanaketanga tahi me te whai waahi o te hapori.

Āhuahira Matua:

  • Te patopato haere, ka noho ki te waahi waenga i waenga i te patopato hihiri me te pateko. Ka taea e Luau te whakamahi i te patopato pateko ina hiahiatia ma te tohu momo korero ma nga korero motuhake. Ko nga momo hanga "any", "nil", "boolean", "numera", "string" me te "miro" ka whakaratohia. I te wa ano, ka mau tonu te kaha ki te whakamahi i te patopato hihiri me te kore e tino tautuhia te momo taurangi me nga mahi. mahi foo(x: tau, y: aho): boolean rohe k: aho = y:rep(x) whakahoki k == “a” mutunga
  • Tautoko mo nga kupu aho (penei i te Lua 5.3) penei "\0x**" (tau hauono), "\u{**}" (puāhua Waehereao) me "\z" (mutunga o te raina), me te te kaha ki te tiro whakahōputu tau (ka taea e koe te tuhi 1_000_000 hei utu mo te 1000000), kupu mo te hautekauono (0x...) me nga tau rua (0b......).
  • Tautokohia te kupu "haere tonu", hei whakakii i te kupu "pakaru" o naianei, kia peke atu ki te whitiwhitinga hou.
  • Tautoko mo nga kaiwhakahaere taumahi huinga (+=, -=, *=, /=, %=, ^=, ..=).
  • Tautoko mo te whakamahi i nga poraka herenga "mehemea-ka-ake" i roto i te ahua o nga korero e whakahoki ana i te uara i tatauhia i te wa e mahia ana te poraka. Ka taea e koe te tautuhi i te maha o nga korero rereke i roto i tetahi poraka. local maxValue = ki te a > b ka tahi atu b tohu rohe = ki te x < 0 ka -1 atu x > 0 ka 1 atu 0
  • Te aroaro o te aratau wehe (pouaka kirikiri), ka taea e koe te whakahaere i te waehere pono. Ka taea te whakamahi i tenei ahuatanga ki te whakarite i te whakarewanga taha ki te taha o to ake waehere me to waehere i tuhia e tetahi atu kaiwhakawhanake, hei tauira, ko nga whare pukapuka tuatoru mo te haumaru kaore e taea te whakamana.
  • He herenga o te whare pukapuka paerewa i tangohia mai ai nga mahi ka taea pea te hanga raru haumarutanga. Hei tauira, ko nga whare pukapuka "io" (te uru atu ki nga konae me nga tikanga whakarewatanga), "te kete" (te uru atu ki nga konae me te uta i nga waahanga), "os" (nga mahi mo te uru atu ki nga konae me te whakarereke i nga taurangi taiao), "patuiro" (mahi kore haumaru me te mahara) , "dofile" me "loadfile" (FS uru).
  • Te whakarato taputapu mo te tātari waehere pateko, te tautuhi i nga hapa (linter) me te tirotiro i te whakamahinga tika o nga momo.
  • Na ake ano te kaiporoporo mahi teitei, te kaiwhakamaori bytecode me te kaikohi. Kaore ano a Luau i te tautoko i te whakahiato JIT, engari e kii ana he tino rite te mahi a te kaiwhakamaori Luau ki te LuaJIT i etahi ahuatanga.

Source: opennet.ru

Tāpiri i te kōrero