Мне дали задание, где я должен преобразовать функцию Scheme в функцию C ++. Вот функция Scheme:
(DEFINE someFunction
(LAMBDA (n)
(IF (>= n 0)
n
(- 0 n))))
Исправьте меня, если я ошибаюсь, но DEFINE связывает имя someFunction
с выражением LAMBDA n
. Если n
больше или равно 0, то n
просто возвращается. В противном случае возвращается 0 - n
.
Вот что я придумал, когда преобразовал его в C ++:
int someFunction() {
int n;
if (n >= 0)
return n;
else
return (0 - n);
}
Я правильно понял? Любые советы будут полезны! Я хочу узнать, что я делаю неправильно, поэтому не сдерживайтесь.