lua function as argument in C
Posted
by
Nil
on Stack Overflow
See other posts from Stack Overflow
or by Nil
Published on 2012-05-31T14:15:40Z
Indexed on
2012/06/07
22:40 UTC
Read the original article
Hit count: 126
lua
I'm going to pass a function to another function which should operate with the passed function. For example:
handler(fun1("foo",2))
handler(fun2(1e-10))
The handler is something like calling the passed function many times. I'm going to bind handler, fun1, fun2 to C-functions. fun1 and fun2 are going to return some user data with a pointer to some cpp-class so that I can further recover which function was it.
The problem now is that fun1 and fun2 are going to be called before passed to handler. But I don't need this, what I need is the kind of function and its parameters. However, I should be able to call fun1 and fun2 alone without handler:
fun1("bar",3)
fun2(1e-5)
Is it possible to get the context the function is called from?
While typing the question, I realized I could do following
handler(fun1, "foo",2);
handler(fun2, 1e-10);
© Stack Overflow or respective owner