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

Home » Public Forums » archive » Re: turn a string value into variable name
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Switch to threaded view of this topic Create a new topic Submit Reply
Re: turn a string value into variable name [message #63028] Fri, 24 October 2008 06:08 Go to next message
greg.addr is currently offline  greg.addr
Messages: 160
Registered: May 2007
Senior Member
That works, but wouldn't it be better to bring them into an array?
Otherwise you'll meet the same problem when you want to calculate
something with them..

scenario=ptrarr(n)
for i=0,n-1 do begin
...
scenario[i]=ptr_new(mySavedStruct)
endfor

...

DoSomething,*(scenario[j])

good luck,
Greg
Re: turn a string value into variable name [message #63039 is a reply to message #63028] Thu, 23 October 2008 16:04 Go to previous messageGo to next message
Nick[2] is currently offline  Nick[2]
Messages: 2
Registered: October 2008
Junior Member
Thank you very much David!

Nick
On Oct 23, 4:56 pm, David Fanning <n...@dfanning.com> wrote:
> Nick writes:
>> I am restoring over 100 .sav files and creating structures for
>> analysis.  Each .sav represents a differenct scenario and ideally I
>> would like to name the created structure in sequential format (case1,
>> case2...casen).
>
>> To pull the data in I am using a for loop (all .sav have identical
>> array names) and I'd like to use the counter to name the variable.  Is
>> it possible to turn a string into a variable name?
>
> The EXECUTE command can do this:
>
>    FOR j=0,n DO BEGIN
>       IF Execute('case' + String(j, Format='(I3.3)') + $
>          '= mysavedStruct') EQ 0 THEN $
>          Print, 'We have a failure to execute!'
>    ENDFOR
>
> At one time there was a limit on the number of new
> variables that could be created this way inside an
> IDL program. I believe that limit has been removed.
>
> Cheers,
>
> David
>
> --
> David Fanning, Ph.D.
> Coyote's Guide to IDL Programming (www.dfanning.com)
> Sepore ma de ni thui. ("Perhaps thou speakest truth.")
Re: turn a string value into variable name [message #63040 is a reply to message #63039] Thu, 23 October 2008 15:56 Go to previous messageGo to next message
David Fanning is currently offline  David Fanning
Messages: 11724
Registered: August 2001
Senior Member
Nick writes:

> I am restoring over 100 .sav files and creating structures for
> analysis. Each .sav represents a differenct scenario and ideally I
> would like to name the created structure in sequential format (case1,
> case2...casen).
>
> To pull the data in I am using a for loop (all .sav have identical
> array names) and I'd like to use the counter to name the variable. Is
> it possible to turn a string into a variable name?

The EXECUTE command can do this:

FOR j=0,n DO BEGIN
IF Execute('case' + String(j, Format='(I3.3)') + $
'= mysavedStruct') EQ 0 THEN $
Print, 'We have a failure to execute!'
ENDFOR

At one time there was a limit on the number of new
variables that could be created this way inside an
IDL program. I believe that limit has been removed.

Cheers,

David

--
David Fanning, Ph.D.
Coyote's Guide to IDL Programming (www.dfanning.com)
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
Re: turn a string value into variable name [message #63142 is a reply to message #63040] Wed, 29 October 2008 06:18 Go to previous messageGo to next message
loebasboy is currently offline  loebasboy
Messages: 26
Registered: August 2008
Junior Member
On 23 okt, 23:56, David Fanning <n...@dfanning.com> wrote:
> Nick writes:
>> I am restoring over 100 .sav files and creating structures for
>> analysis.  Each .sav represents a differenct scenario and ideally I
>> would like to name the created structure in sequential format (case1,
>> case2...casen).
>
>> To pull the data in I am using a for loop (all .sav have identical
>> array names) and I'd like to use the counter to name the variable.  Is
>> it possible to turn a string into a variable name?
>
> The EXECUTE command can do this:
>
>    FOR j=0,n DO BEGIN
>       IF Execute('case' + String(j, Format='(I3.3)') + $
>          '= mysavedStruct') EQ 0 THEN $
>          Print, 'We have a failure to execute!'
>    ENDFOR
>
> At one time there was a limit on the number of new
> variables that could be created this way inside an
> IDL program. I believe that limit has been removed.
>
> Cheers,
>
> David
>
> --
> David Fanning, Ph.D.
> Coyote's Guide to IDL Programming (www.dfanning.com)
> Sepore ma de ni thui. ("Perhaps thou speakest truth.")

Thank you David, I had the same question !
Re: turn a string value into variable name [message #82321 is a reply to message #63040] Thu, 06 December 2012 01:55 Go to previous message
sher.astro is currently offline  sher.astro
Messages: 2
Registered: August 2012
Junior Member
在 2008年10月24日星期五UTC+8上午6时56分27秒,David Fanning写道:
> Nick writes:
>
>> I am restoring over 100 .sav files and creating structures for
>> analysis. Each .sav represents a differenct scenario and ideally I
>> would like to name the created structure in sequential format (case1,
>> case2...casen).
>>
>> To pull the data in I am using a for loop (all .sav have identical
>> array names) and I'd like to use the counter to name the variable. Is
>> it possible to turn a string into a variable name?
>
> The EXECUTE command can do this:
>
> FOR j=0,n DO BEGIN
> IF Execute('case' + String(j, Format='(I3.3)') + $
> '= mysavedStruct') EQ 0 THEN $
> Print, 'We have a failure to execute!'
> ENDFOR
it's helpful. thanks a lot
>
> At one time there was a limit on the number of new
> variables that could be created this way inside an
> IDL program. I believe that limit has been removed.
>
> Cheers,
>
> David
>
> --
> David Fanning, Ph.D.
> Coyote's Guide to IDL Programming (www.dfanning.com)
> Sepore ma de ni thui. ("Perhaps thou speakest truth.")
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: Two new IDL Help Articles describing how to use the Workbench are made available now.
Next Topic: Re: meanclip

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

Current Time: Wed Oct 08 15:52:18 PDT 2025

Total time taken to generate the page: 0.00542 seconds