lua-users home
lua-l archive

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

-- Here is a very poor attempt :)

local function infix(...)
   local args = {...}
   local nargs = #args
   local r = args[1]
   for k=2,nargs,2 do
      r = args[k](r, args[k+1])
   return r

local function add(a,b)
   return a + b

print( infix( 12 ,add, 3 ,add, 10 ) )

On 12/17/11 9:23 PM, Xavier Wang wrote:
> hi robero and list,
> i'm inspired by the post about implement c enum. somebody said the 
> getflags function shoud return a userdata to implement a contains 
> function. i think its a good idea, excerpt a details: thus will allocate 
> memory.
> i'm run lua on a embedded system, embedded systemembedded system, nokia 
> n73 cellphone. my game will lag if i allocate memory in draw function 
> since the garbage collection. so we avoid any memory in event loop. but 
> i really miss the contains function, so i think a syntax allow use 
> function as infix operator will be great.
> e.g. if i have a function add(a, b), i can call it with a `add` b, its 
> a syntax sugar of add(a,b)
> its very simple and can used in many situations, e.g. bitop calls, and 
> flags contains test.
> has anybody agree me? i hope this feature can appear on lua5.3 :)
> thanks everybody~