Lua 5.4 ada di sini dan ini adalah perubahan dan berita

Selepas lima tahun pembangunan, beberapa hari yang lalu pelancaran versi baru Lua 5.4 telah dibentangkan, yang merupakan bahasa pengaturcaraan skrip ringkas dan pantas yang banyak digunakan sebagai bahasa tertanam.

Lua menggabungkan sintaks prosedur mudah dengan keupayaan yang kuat penerangan data melalui penggunaan susunan asosiatif dan semantik bahasa yang boleh diperluas. Lua menggunakan penulisan dinamik; konstruk bahasa ditukar kepada kod bytec yang berjalan di atas mesin maya log dengan pemungut sampah automatik.

Apa yang baru di Lua 5.4?

Dalam versi bahasa baru ini, kita dapati bahawa bahasa itu menonjol mod operasi pengutip sampah baru, yang melengkapkan mod pengumpulan sampah tambahan yang tersedia sebelumnya.

Cara baru menyiratkan pelancaran jejak yang lebih pendek, yang merangkumi objek yang baru dibuat. Perayapan penuh semua objek hanya dilakukan jika, setelah merangkak pendek, tidak mungkin mencapai petunjuk penggunaan memori yang diinginkan. Pendekatan ini membolehkan prestasi yang lebih tinggi dan penggunaan memori yang lebih rendah dalam keadaan menyimpan sebilangan besar objek yang hidup dalam masa yang singkat.

Perubahan lain yang menonjol dari Lua 5.4 adalah keupayaan untuk menentukan pemalar yang ditentukan dengan atribut "const". Pemboleh ubah tersebut hanya dapat diberikan sekali dan setelah inisialisasi tidak lagi dapat diubah.

Juga itu sokongan baru untuk pemboleh ubah juga diserlahkan «Akan ditutup», yang ditugaskan menggunakan atribut «tertutup» dan menyerupai pemboleh ubah tempatan tetap (dengan atribut const), yang berbeza daripadanya kerana nilainya ditutup (kaedah "__close" dipanggil) di mana-mana output dari kawasan penglihatan.

Jenis "Data pengguna", yang memberikan kemampuan untuk menyimpan sebarang data C dalam pemboleh ubah Lua (mewakili sekumpulan data dalam memori atau berisi penunjuk C), kini boleh mengandungi pelbagai nilai (mempunyai beberapa metatabel).

Selain itu, semantik baru dicadangkan dalam Lua 5.4 untuk menghitung bilangan bulat dalam »untuk« gelung. Bilangan lelaran dihitung sebelum permulaan gelung, yang menghalang limpahan pemboleh ubah dan gelung. Sekiranya nilai awal lebih besar daripada nilai had, kesalahan akan dihasilkan.

Sistem amaran telah ditambahkan, yang ditentukan menggunakan ungkapan peringatan dan, tidak seperti kesalahan, tidak mempengaruhi pelaksanaan program berikutnya.

Perubahan lain yang menonjol:

  • Maklumat penyahpepijatan pada argumen fungsi dan nilai kembali telah ditambahkan dalam operator "kembali".
  • Fungsi untuk menukar rentetan menjadi nombor telah dipindahkan ke perpustakaan "string".
  • Panggilan fungsi peruntukan memori kini mungkin gagal jika ukuran blok memori dikurangkan.
  • Menambah sokongan untuk penentu format '% p' ​​baru ke fungsi 'string.format'
  • Perpustakaan utf8 memberikan sokongan untuk kod aksara dengan nombor hingga 2 ^ 31.
  • Argumen 'init' pilihan baru telah ditambahkan ke fungsi 'string.gmatch', yang menentukan dari posisi mana untuk memulakan pencarian (secara lalai, dimulai dengan 1 karakter).
  • Menambah fungsi baru 'lua_resetthread' (tetapkan semula utas, kosongkan keseluruhan timbunan panggilan dan tutup semua pemboleh ubah "untuk menutup") dan 'coroutine.close'

Bagaimana cara memasang Lua di Linux?

Kerana populariti bahasanya penafsirnya terdapat di sebilangan besar pengedaran Linux.

kepada mereka yang merupakan pengguna Debian, Ubuntu, Linux Mint atau mana-mana sistem yang berasal dari ini, kita hanya perlu membuka terminal dan melaksanakan perintah berikut di dalamnya:

sudo apt install lua5.4

Sekiranya mereka pengguna Arch Linux, Manjaro, Antergos atau sebarang pengedaran yang berasal dari Arch Linux, kita boleh memasang jurubahasa dari repositori AUR, untuk ini kita hanya perlu menaip:

yay -S lua

Semasa berhenti Mereka yang merupakan pengguna CentOS, RHEL, Fedora atau sebarang pengedaran yang berasal dari ini, kami boleh memasangnya dengan:

sudo dnf install lua

Dan siap dengannya, saya sudah terpasang.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.