comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Bug or desired behavior in lambda functions?
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Bug or desired behavior in lambda functions? [message #91136] Mon, 08 June 2015 10:34 Go to previous message
penteado is currently offline  penteado
Messages: 866
Registered: February 2018
Senior Member
Administrator
Hello,

Despite what the documentation might suggest, and one might expect, it seems there is no way to use string variables to make lambda functions.

If I try to make a lambda function with the code inside lambda(), all is well:

IDL> l=lambda('x: x^2')
IDL> l(2)
4

However, if I put the same code in a string and pass it to lambda, it does not accept the code:

IDL> expr='x: x^2'
IDL> l=lambda(expr)
% LAMBDA: Code must be of the form "arg1,arg2,... : statement"

I expect this is caused by IDL parser's special behavior when it encounters lambda(), which is what allows this

IDL> l=lambda(x: x^2)

So I think when I put a variable name inside the lambda() call, the parser thinks is a string literal, and tries to parse the variable name as code.

Is this intended behavior, or a bug?

Paulo
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Previous Topic: Identify whether value is integer in IF statement
Next Topic: Multiple Processing

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Wed Oct 08 09:19:19 PDT 2025

Total time taken to generate the page: 0.00412 seconds