I disagree with your proposed syntax. I should know that the current form of the loop for, comes from the C language (and then C++ and Java). I think that we could have something like: loop n in 6 12 24 xlist
Where n is the loop variable 6, 12 and 24 are numbers, and xlist is a list of the same type of n. This way we could have: loop a in "G" "r" "e" "t" "l" or loop a in alist, where alist is a list of strings. I am avoiding using the loop foreach, because it uses numbers to index variables. Is this a valuable command? The cost of developing it (and maintain), seems too high for the value it brings. Regards, Hélio On Tue, May 25, 2010 at 10:00 PM, Henrique Andrade < henrique.coelho(a)gmail.com> wrote: > Dear Riccardo, Kehl and Guilherme, > > I was looking for something simple. The option "loop for (n=6; n<=24; > n*=2)" worked just fine. But in my humble opinion the option "loop for (n=6; > n=12; n=24)" should work too, but this is not a big deal ;-) > > Thank you so much! > > Um abraço, > Henrique > > Em 25 de maio de 2010 17:45, Hélio Guilherme > <helioxentric(a)gmail.com>escreveu: > > Hi Henrique, >> >> I believe that this does what you want: >> loop for (n=6; n<=24; n*=2) --quiet >> >> No other simple options. >> >> >> On Tue, May 25, 2010 at 8:53 PM, Henrique Andrade < >> henrique.coelho(a)gmail.com> wrote: >> >>> Dear Riccardo, Kehl and Artur, >>> >>> Thanks a lot for your help! I'd tried all the options you gave me and >>> my final script looks like this: >>> >>> <script> >>> scalar n=0 >>> loop for (n=6;n<=24;n=n*2) --quiet >>> scalar m = $T - n + 1 >>> loop j=2..nelemY --quiet >>> matrix R$n_$j = zeros(m,1) >>> loop i=1..m --quiet >>> loop c=1..n --quiet >>> row = i + n - c >>> R$n_$j[i] += r$j[row, c] >>> endloop >>> endloop >>> endloop >>> matrix mci$n = R$n_2 + R$n_3 >>> endloop >>> </script> >>> >>> Now, because I just need the values for 6, 12 and 24, I'm trying to >>> substitute the second line "loop for (n=6;n<=24;n=n*2)" for this: >>> >>> loop for (n=6;n=12;n=24) >>> >>> But the script isn't working. Any hints? >>> >>> Best regards, >>> Henrique >>> >>> >>> 2010/5/25 artur bala <artur.bala(a)laposte.net> >>> >>> Or, if your index is something like of a geometric series as it seems to >>>> be (let's say 6, 12, 24, 48, and so on) and too long to do manually >>>> you can try this one: >>>> <script> >>>> scalar count=0 >>>> loop for (count=6;count<=24;count=count*2) --quiet >>>> <instructions> >>>> endloop >>>> <\script> >>>> >>>> cheers, >>>> artur >>>> >>>> Riccardo (Jack) Lucchetti a écrit : >>>> > On Tue, 25 May 2010, Henrique Andrade wrote: >>>> > >>>> >> Dear Gretl Community, >>>> >> >>>> >> I'm trying to use a loop index inside a script but I don't know how. >>>> >> According >>>> >> to "Gretl User’s Guide" the syntax looks like this: >>>> >> >>>> >> loop i=1..24 >>>> >> >>>> >> But I just need the points where "i" is equal to 6, 12 and 24. >>>> >> Something like this: >>>> >> >>>> >> loop i=6;12;24 >>>> >> >>>> >> How can I do that? >>>> > >>>> > For example, this way: >>>> > <script> >>>> > matrix foo = { 6, 12, 24 } >>>> > n = cols(foo) >>>> > loop for i=1..n >>>> > bar = foo[i] >>>> > print bar >>>> > end loop >>>> > </script> >>>> > >>>> > >>>> > Riccardo (Jack) Lucchetti >>>> > Dipartimento di Economia >>>> > Università Politecnica delle Marche >>>> > >>>> > r.lucchetti(a)univpm.it >>>> > http://www.econ.univpm.it/lucchetti >>>> > >>>> ------------------------------------------------------------------------ >>>> > >>>> > _______________________________________________ >>>> > Gretl-users mailing list >>>> > Gretl-users(a)lists.wfu.edu >>>> > http://lists.wfu.edu/mailman/listinfo/gretl-users >>>> >>>> >>>> _______________________________________________ >>>> Gretl-users mailing list >>>> Gretl-users(a)lists.wfu.edu >>>> http://lists.wfu.edu/mailman/listinfo/gretl-users >>>> >>> >>> >>> >>> -- >>> Henrique C. de Andrade >>> Doutorando em Economia Aplicada >>> Universidade Federal do Rio Grande do Sul >>> www.ufrgs.br/ppge >>> >>> _______________________________________________ >>> Gretl-users mailing list >>> Gretl-users(a)lists.wfu.edu >>> http://lists.wfu.edu/mailman/listinfo/gretl-users >>> >> >> >> _______________________________________________ >> Gretl-users mailing list >> Gretl-users(a)lists.wfu.edu >> http://lists.wfu.edu/mailman/listinfo/gretl-users >> > > > > -- > Henrique C. de Andrade > Doutorando em Economia Aplicada > Universidade Federal do Rio Grande do Sul > www.ufrgs.br/ppge > > _______________________________________________ > Gretl-users mailing list > Gretl-users(a)lists.wfu.edu > http://lists.wfu.edu/mailman/listinfo/gretl-users >I disagree with your proposed syntax.
I should know that the current form of the loop for, comes from the C language (and then C++ and Java).
I think that we could have something like:
loop n in 6 12 24 xlist
Where n is the loop variable 6, 12 and 24 are numbers, and xlist is a list of the same type of n. This way we could have:
loop a in "G" "r" "e" "t" "l"
or
loop a in alist, where alist is a list of strings.
I am avoiding using the loop foreach, because it uses numbers to index variables.
Is this a valuable command? The cost of developing it (and maintain), seems too high for the value it brings.
Regards,
Hélio
On Tue, May 25, 2010 at 10:00 PM, Henrique Andrade <henrique.coe...@gmail.com> wrote:
Dear Riccardo, Kehl and Guilherme,
I was looking for something simple. The option "loop for (n=6; n<=24; n*=2)" worked just fine. But in my humble opinion the option "loop for (n=6; n=12; n=24)" should work too, but this is not a big deal ;-)
Thank you so much!
Um abraço,
HenriqueEm 25 de maio de 2010 17:45, Hélio Guilherme <helioxent...@gmail.com> escreveu:
Hi Henrique,
I believe that this does what you want:
loop for (n=6; n<=24; n*=2) --quiet
No other simple options.On Tue, May 25, 2010 at 8:53 PM, Henrique Andrade <henrique.coe...@gmail.com> wrote:
Dear Riccardo, Kehl and Artur,
Thanks a lot for your help! I'd tried all the options you gave me and
my final script looks like this:
<script>
scalar n=0
loop for (n=6;n<=24;n=n*2) --quiet
   scalar m = $T - n + 1
   loop j=2..nelemY --quiet
       matrix R$n_$j = zeros(m,1)
       loop i=1..m --quiet
           loop c=1..n --quiet
               row = i + n - c
               R$n_$j[i] += r$j[row, c]
           endloop
       endloop
   endloop
   matrix mci$n = R$n_2 + R$n_3
endloop
</script>
Now, because I just need the values for 6, 12 and 24, I'm trying to
substitute the second line "loop for (n=6;n<=24;n=n*2)" for this:
loop for (n=6;n=12;n=24)
But the script isn't working. Any hints?
Best regards,
Henrique2010/5/25 artur bala <artur.b...@laposte.net>
Or, if your index is something like of a geometric series as it seems to
be (let's say 6, 12, 24, 48, and so on) and too long to do manually
you can try this one:
<script>
scalar count=0
loop for (count=6;count<=24;count=count*2) --quiet
  <instructions>
endloop
<\script>
cheers,
artur
Riccardo (Jack) Lucchetti a écrit :
> ------------------------------------------------------------------------> On Tue, 25 May 2010, Henrique Andrade wrote:
>
>> Dear Gretl Community,
>>
>> I'm trying to use a loop index inside a script but I don't know how.
>> According
>> to "Gretl Userâs Guide" the syntax looks like this:
>>
>> loop i=1..24
>>
>> But I just need the points where "i" is equal to 6, 12 and 24.
>> Something like this:
>>
>> loop i=6;12;24
>>
>> How can I do that?
>
> For example, this way:
> <script>
> matrix foo = { 6, 12, 24 }
> n = cols(foo)
> loop for i=1..n
> Â Â bar = foo[i]
> Â Â print bar
> end loop
> </script>
>
>
> Riccardo (Jack) Lucchetti
> Dipartimento di Economia
> Università Politecnica delle Marche
>
> r.lucche...@univpm.it
> http://www.econ.univpm.it/lucchetti
>
> _______________________________________________
> Gretl-users mailing list
> gretl-us...@lists.wfu.edu
> http://lists.wfu.edu/mailman/listinfo/gretl-users
_______________________________________________
Gretl-users mailing list
gretl-us...@lists.wfu.edu
http://lists.wfu.edu/mailman/listinfo/gretl-users
--Henrique C. de Andrade
Doutorando em Economia Aplicada
Universidade Federal do Rio Grande do Sul
www.ufrgs.br/ppge
_______________________________________________
Gretl-users mailing list
gretl-us...@lists.wfu.edu
http://lists.wfu.edu/mailman/listinfo/gretl-users
_______________________________________________
Gretl-users mailing list
gretl-us...@lists.wfu.edu
http://lists.wfu.edu/mailman/listinfo/gretl-users
--
Henrique C. de Andrade
Doutorando em Economia Aplicada
Universidade Federal do Rio Grande do Sul
www.ufrgs.br/ppge
_______________________________________________
Gretl-users mailing list
gretl-us...@lists.wfu.edu
http://lists.wfu.edu/mailman/listinfo/gretl-users