You miss built-in lua functions such as ipairs or getmetatable in pico-8? Well, fear no more.
Currently supported Lua "built-in" functions
getmetatable setmetatable rawget unpack ipairs table.pack table.unpack as an alias to unpack table.insert table.remove table.sort |
Tested to imitate their counterparts
Travis-CI is set to test missing.lua against test.lua, which compares results of this library functions with the built-in ones. Well, tests may be incomplete, so do not hesitate to flag a bug to the issue tracker if something goes wrong.
How to use
Heads up to the latest release. Then, there's two options:
Either you download
missing.lua
then copy the file contents into your .p8 project file, preferably before the rest of your code; or
you load missing.p8 in pico-8 to test it out first.
About this license
This library is under creative commons license CC4-BY-NC-SA. See LICENSE.md. It's the same license as the optional one on Lexaloffle's website if you choose to publish a cart.
So, if you happen to publish a cart using this library, it would be nice if you mention it.
Thanks
To Lexaloffle, which this library would not exist without pico-8.
Changes
0.2
Add some table functions.
table.pack
table.unpack as an alias to unpack
table.insert
table.remove
table.sort
Refactor
ipairs
to make it return an iter function, as the native one does.
0.1
Add
getmetatable
setmetatable
rawget
unpack
ipairs



Oh! Yes. I'm gonna keep an eye out for this. Thanks for sharing me the link.



The only builtins I'm really missing are table.insert, table.sort, and table.remove ...
I've had to recreate their functionality twice so far, for Zep likes foxes and Nora's Mouse Chase! to do the Y axis sprite sorting.



@dddaaannn The iterator protocol is now implemented!
@JTE table.insert, table.sort and table.remove are now available too.
[Please log in to post a comment]