lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


I think I've seen the second option more than the first outside of autogenerated wrappers, I think because instead of a table lookup you just have a constant string. LuaJIT might optimize it out but for Lua in general I believe strings are faster, although not as friendly to autocompletion and/or linting engines.

Ryan Heywood
https://hashbang.sh
https://getmediapanel.com


From: lua-l-bounces@lists.lua.org <lua-l-bounces@lists.lua.org> on behalf of Marc Balmer <marc@msys.ch>
Sent: Sunday, April 7, 2019 2:00:49 AM
To: lua-l@lists.lua.org
Subject: A question of style for C module writers
 
Hi all

I have a question of style.  It's about using constants in modules.

Let's say we have a fictious C library libfoo that defines a preprocessor symbol INFO with a value of e.g. 42.

Then I write a Lua module foo which exposes libfoo's functionality to Lua.  Should INFO be an integer constant in foo or rather a string that is looked up using luaL_checkoption()?

i.e.

foo.somefunc(foo.INFO, 'test data')

or

foo.somefunc('info', 'test data')

It's probably only a question of style or taste, but what is your opininion (or remarks) on this?

- mb