This will not be fast. It's also wildly insecure if the string come from an
external source. I'd strongly recommend figuring out a different approach
to what you're doing, but it's hard to provide guidance without more
context.

On Thu, Oct 22, 2015 at 12:34 PM, Alex Ames <alexander.m.a...@gmail.com>
wrote:

> You could define your own feval:
>
> feval(fn_str, args...) = eval(parse(fn_str))(args...)
>
> This has the advantage of accepting anonymous functions and multiple
> arguments if necessary:
> julia> feval("sin",5.0)
> -0.9589242746631385
>
> julia> fn_str = "a_plus_b(a,b) = a + b"
> "a_plus_b(a,b) = a + b"
>
> julia> feval(fn_str,2,3)
> 5
>
> On Thursday, October 22, 2015 at 8:20:33 AM UTC-5, J Luis wrote:
>>
>> Thanks, at least it's a place to start.
>>
>> quinta-feira, 22 de Outubro de 2015 às 14:10:44 UTC+1, Kristoffer
>> Carlsson escreveu:
>>>
>>> Maybe
>>>
>>> julia> eval(Symbol("sin"))(5.0)
>>> -0.9589242746631385
>>>
>>> Not sure if this is the best solution.
>>>
>>>
>>> On Thursday, October 22, 2015 at 2:57:31 PM UTC+2, J Luis wrote:
>>>>
>>>> Hi,
>>>>
>>>> I need to convert this piece of Matlab code
>>>>
>>>>           [ps, orig_path] = feval(str2func(test), out_path);
>>>>
>>>> where 'test' is the name of a function and 'out_path' it unique input
>>>> argument. I have read and re-read the eval function and for once it's clear
>>>> for me how it works (sorry, I find this sentence highly cryptic "Evaluate
>>>> an expression in the given module and return the result" ) but worst, I
>>>> don't see anywhere how it could call a function with input arguments.
>>>>
>>>> How can I achieve the same result in Julia?
>>>>
>>>> Thanks.
>>>>
>>>

Reply via email to