|
|
Re: where to define a variable? [message #972418 is a reply to message #971999] |
Mon, 05 November 2012 16:05 |
Kosala Yapa Messages: 159 Registered: September 2010 |
Senior Member |
|
|
Hi Hugo,
Thanks a mil for your reply.
helper context source!DeviceItem def: getModules():
Sequence(source!ModuleItem)= self.ModuleList.ModuleItem->select(mi|mi.getSlotValue()<>'0')->sortedBy(mi|mi.getSlotValue().toInteger());
I defined following two integer variables and do block in a lazy rule and later changed in a for loop.
problem: I always get num as 0. Can you see the error?
using{
num:Integer=0;
index:Integer=1;
}
do{
for(m2 in a.getModules())
{
num = m2.getSlotValue().toInteger()-index;
if ( num<>0)
{
p.Modules<-thisModule.rule_getNullModule(m2);
}
else
{
p.Modules<-thisModule.rule_getModule(m2);
}
index = index+1;
}-- for all Modules
}--end do
Thanks.
K
[Updated on: Mon, 05 November 2012 16:25] Report message to a moderator
|
|
|
Re: where to define a variable? [message #972498 is a reply to message #972418] |
Mon, 05 November 2012 17:20 |
Hugo Bruneliere Messages: 674 Registered: July 2009 |
Senior Member |
|
|
Variable (re)assignments in do sections have to performed using the <- operator and not the = one.
Best regards,
Hugo
--------------------------------------------------------
Hugo Bruneliere, PhD
NaoMod team (IMT Atlantique & LS2N-CNRS)
Nantes - France
--------------------------------------------------------
|
|
|
Powered by
FUDForum. Page generated in 0.03198 seconds