Добрый день.
Вот, пытаюсь переписать код из С#-style в правильный Nemerle.
В начале было так:
//найти в словаре значение и вернуть его ключ
mutable vv = -1;
foreach(k in Card.ValencyDict.Keys)
{
when( Card.ValencyDict[k] == v )
{
vv = k;
break;
}
Мой пораженный императивщиной мозг выдал такой ужас:
def vv():int {
-1;
foreach(k when Card.ValencyDict[k] == v in Card.ValencyDict.Keys)
{
k;
}
}
Valency = vv();
Но и тот на первой строке ругается:
expected int, got void in assigned value: void is not a subtype of int
Какой код видят гуру-немерлисты?