Dua 5.4

Sanggeus dua taun pangwangunan, dina 29 Juni, versi anyar tina basa programming Lua, 5.4, ieu quietly na imperceptibly dirilis.

Lua mangrupikeun basa pamrograman anu sederhana sareng diinterpretasi anu tiasa gampang diselapkeun kana aplikasi. Kusabab kualitas-kualitas ieu, Lua seueur dianggo salaku basa pikeun ngalegaan atanapi ngajelaskeun konfigurasi program (khususna, kaulinan komputer). Lua bakal disebarkeun dina lisénsi MIT.

Versi saméméhna (5.3.5) dirilis dina 10 Juli 2018.

Parobahan utama dina versi anyar

  • tukang sampah anyar dumasar kana generasi (generational). Dina fungsi collectgarbage, setpause na setstepmul parameter geus deprecated sarta parameter incremental dianjurkeun gantina;

  • fungsi anyar pikeun ngaluarkeun warnings kalawan kamampuhan pikeun nganonaktipkeun tampilan maranéhanana;

  • palaksanaan anyar math.random ngagunakeun xoshiro256 ** algoritma tinimbang hiji disadiakeun ku libc na initializes generator kalawan jumlah acak;

  • variabel konstan;

  • Variabel "ka-ditutup" mangrupakeun konstanta lokal nu metoda __close dieksekusi nalika wengkuan geus exited;

  • fungsi anyar lua_resetthread - mupus tumpukan jeung nutup sakabeh variabel "tutup";

  • fungsi anyar coroutine.close - nutup coroutine dieusian sarta sakabeh variabel "closable" na;

  • data pamaké (data pamaké) bisa ngandung sakumpulan nilai diaksés ku indéks. fungsi anyar geus diwanohkeun pikeun gawé bareng aranjeunna: lua_newuserdatauv, lua_setiuservalue na lua_getiuservalue;

  • inpormasi debugging ngeunaan parameter sareng nilai mulangkeun fungsi sayogi;

  • lamun hiji indéks integer dipaké dina for loop jeung hiji mudal lumangsung, loop ends;

  • ditambahkeun argumen pilihan pikeun string.gmatch fungsi nu nangtukeun offset ti mimiti string pikeun milarian patandingan;

  • fungsi konversi implisit tina string kana angka geus dipindahkeun ka perpustakaan string, kabiasaan maranéhna geus robah. Contona, hasil tina operasi "1" + "2" ayeuna mangrupa integer, lain angka floating point;

  • dina fungsi alokasi memori, kasalahan bisa lumangsung nalika blok memori diréduksi;

  • karakter format anyar dina fungsi string.format -% p (pikeun pointers);

  • perpustakaan utf8 narima kode karakter nepi ka 2³¹ (lamun bandéra husus dieusian, tanpa eta ngan kode nepi ka 0x10FFFF diwenangkeun tur surrogates teu diwenangkeun);

  • konstanta integer anu di luar rentang nilai dirobah jadi angka ngambang (saméméhna bit clipping lumangsung);

  • __lt metamethod geus euweuh dipaké pikeun emulate __le metamethod, lamun perlu, __le metamethod kudu diatur eksplisit;

  • labél pikeun pernyataan goto teu bisa dijieun lamun labél jeung ngaran anu sarua geus aya dina wengkuan ayeuna (sanajan ieu ditetepkeun dina wengkuan luar);

  • metamethod __gc bisa jadi leuwih ti ngan hiji fungsi. Upami usaha pikeun nelepon metodeu gagal, peringatan bakal ditingalikeun;

  • fungsi print teu nelepon tostring pikeun tiap argumen, tapi ngagunakeun transformasi internal sorangan;

  • fungsi io.lines mulih susunan opat nilai tinimbang hiji, mun emulate kabiasaan heubeul, ngalampirkeun panggero dina kurung lamun ngagantikeun salaku parameter lamun nelepon fungsi sejen.

sumber: linux.org.ru

Tambahkeun komentar