It is possible in Julia to pass an function as argument, below we define a function called starline() that prints a line of 50 stars:

starline() = println('*' ^ 50)


Output:

starline (generic function with 1 method)


Let’s test it:

starline()


Output:

**************************************************


Now let’s define a function called execute_function() as follows:

function execute_function(a_function)
a_function()
end


Output:

execute_function (generic function with 1 method)


So how does this execute_function() works. First we take in an argument as a_function and in this statement a_function(), we are treating it as a function and calling it. Now let’s test it:

execute_function(starline)


Output:

**************************************************


So it works. My hunch that Julia accepts a function and can call it is true. You can find notebook here https://gitlab.com/data-science-with-julia/code/-/blob/master/passing_function_as_arguments.ipynb