LINUX.ORG.RU

История изменений

Исправление monk, (текущая версия) :

Приведите пожалуйста пример устранения шаблонного кода, который можно устранить метапрограммированием, но средствами языка Java невозможно или очень проблематично?

if(f(aaa,bbb) + g(aaa,bbb) == c(aaa,bbb)) x(aaa,bbb)
else if(f(aaa,bbb) - g(aaa,bbb) == c(aaa,bbb)) y(aaa,bbb)
else if(f(aaa,bbb) * g(aaa,bbb) == c(aaa,bbb)) z(aaa,bbb)
else if(f(aaa,bbb) / g(aaa,bbb) == c(aaa,bbb)) k(aaa,bbb)

Через метапрограммирование можно получить что-то вроде

for_op({+,-,*,/}, aaa, bbb, f(..) %% g(..) == c(..), {x,y,z,k})

Исходная версия monk, :

Приведите пожалуйста пример устранения шаблонного кода, который можно устранить метапрограммированием, но средствами языка Java невозможно или очень проблематично?

if(f(aaa,bbb) + g(aaa,bbb) == c(aaa,bbb)) x(aaa,bbb)
else if(f(aaa,bbb) - g(aaa,bbb) == c(aaa,bbb)) y(aaa,bbb)
else if(f(aaa,bbb) * g(aaa,bbb) == c(aaa,bbb)) z(aaa,bbb)
else if(f(aaa,bbb) / g(aaa,bbb) == c(aaa,bbb)) k(aaa,bbb)

Через метапрограммирование можно получить что-то вроде

for_op({+,-,*,/}, f(aaa,bbb) %% g(aaa,bbb) == c(aaa,bbb), {x,y,z,k})