public CLS_Content.Value ComputeValue(CLS_Content content)
{
content.InStack(this);
content.DepthAdd();
CLS_Expression_Define define = listParam[0] as CLS_Expression_Define;
if (define == null)
{
}
define.ComputeValue(content);
System.Collections.IEnumerable emu = listParam[1].ComputeValue(content).value as System.Collections.IEnumerable;
ICLS_Expression expr_block = listParam[2] as ICLS_Expression;
var it = emu.GetEnumerator();
CLS_Content.Value vrt = null;
while (it.MoveNext())
{
content.Set(define.value_name, it.Current);
if (expr_block != null)
{
if (expr_block is CLS_Expression_Block)
{
var v = expr_block.ComputeValue(content);
if (v != null)
{
if (v.breakBlock > 2) vrt = v;
if (v.breakBlock > 1) break;
}
}
else
{
content.DepthAdd();
bool bbreak = false;
var v = expr_block.ComputeValue(content);
if (v != null)
{
if (v.breakBlock > 2) vrt = v;
if (v.breakBlock > 1) bbreak = true;
}
content.DepthRemove();
if (bbreak)
break;
}
}
}
//ICLS_Expression expr_continue = listParam[1] as ICLS_Expression;
//ICLS_Expression expr_step = listParam[2] as ICLS_Expression;
//ICLS_Expression expr_block = listParam[3] as ICLS_Expression;
//for (;(bool)expr_continue.ComputeValue(content).value; expr_step.ComputeValue(content))
//{
// if(expr_block!=null)
// {
// var v = expr_block.ComputeValue(content);
// if (v != null && v.breakBlock > 1) break; ;
// //if (v.breakBlock == 1) continue;
// //if (v.breakBlock == 2) break;
// //if (v.breakBlock == 10) return v;
// }
//}
content.DepthRemove();
content.OutStack(this);
return vrt;
//for 逻辑
//做数学计算
//从上下文取值
//_value = null;
}