Does anybody know how I could write a function, that was able to create other functions, using the contents of a variable for it’s name?
Here’s a basic example of what I’m talking about in php:
function nodefunctioncreator()
{
for ($i =1, $i < 10, $i++)
{
$newfunctionname = "Node".$i;
function $newfunctionname()
{
//code for each of the functions
}
}
}
Does anybody know a language that would allow me to do this?
You can create anonymous functions in PHP using
create_function(). You could assign each anonymous function to a variable$newfunctionnameand execute it usingcall_user_func():I think that’s the closest you can get in PHP in a way that doesn’t look like a total hack.
I don’t think it’s possible to define a function directly from a variable. It wouldn’t look good to me to do it, either, because you would be polluting the namespace with those functions. If anonymous functions don’t work, this calls for an object oriented approach.