Re[3]: Слабое связывание в процедурном языке
От: Sinclair Россия https://github.com/evilguest/
Дата: 28.07.24 13:49
Оценка: 2 (1)
Здравствуйте, zelenprog, Вы писали:
Z>В том-то и дело, что в "моем" языке нету указателей на процедуру.
Z>Как выкрутиться в этой ситуации?
Тогда ваш единственный выход — switch.
То есть примерно так:

int BinaryOp(int a, int b, int functionNo) // весь полиморфизм - здесь
{
  switch(functionNo)
  {
    case 0: return Add(a, b);
    case 1: return Mul(a, b);
    case 2: return Sub(a, b);
    default: throw new Exception("Unknown function no: " + functionNo.ToString());
  }
}

int Foo(int[] data, int initValue, int functionNo)
{
  var acc = initValue;
  for(var item in data)
    acc = BinaryOp(acc, item);
  return acc;
}
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.