¿Hay alguna forma de cómo devolver lambda de otra lambda recursivamente?Lambda que devuelve otra lambda
Todo lo que quiero hacer es una máquina de estados finitos, implementada como lambda, que devuelve lambda implementando otro estado (o nulo).
nesting Func <> no funcionará como yo quiera.
C#, .NET 3.5
Ejemplo:
máquina, 3 estados, pseudolanguage
private Lambda State1()
{
if (SomeConditionIsMet)
return State2;
else
return State1;
}
private Lambda State2()
{
while (SomeConditionIsMet)
return State2;
else
return State3;
}
private Lambda State3()
{
LogEnd();
return NULL;
}
public void FSM()
{
Lambda _currentState = State1;
while(_currentState != NULL)
{
_currentState = _currentState();
}
}
sé, que puedo solucionar este usando enum + interruptor, por ejemplo, pero Solo tengo curiosidad si puedo hacer esto.
I Estoy confundido por el atributo "recursivo" de esta pregunta; ¿Puedes dar un ejemplo de este comportamiento? ¿Se supone que la lambda debe regresar * en sí misma? – Aaronaught
No está muy claro cómo exactamente le gustaría que esto funcione. ¿Puedes dar un ejemplo de pseudocódigo o una explicación detallada? – Joren
Estoy confundido por la actualización. No hay expresiones lambda en ningún lado en este código. ¿Qué quieres decir exactamente con la palabra "lambda"? Quiero decir * una expresión lambda *. –