LINUX.ORG.RU

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

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

Но, что насчёт побочных эффектов? Как объяснить смысл и разницу побочных эффектов на примере языка, где, по сути, всё из этих же самих побочных эффектов состоит.

Я вот недавно пример с композицией на С писал:

#include <stdio.h>
#include <stdlib.h>
#include "functional.h"

int main(int argc, char **argv) {
    long r = 0, end = atol(argv[1]) + 1;
    auto f = LAMBDA(long, (long x) { return x == 0; });
    auto g = LAMBDA(long, (long x) { return x % 2; });
    auto cond = COMPOSE(long, f, g);
    for (long i = 1; i < end; ++i) if (cond(i)) r += i;
    printf("%ld\n", r);
    return 0;
}
Жду примера на Pascal %)

Исправление MOPKOBKA, :

Но, что насчёт побочных эффектов? Как объяснить смысл и разницу побочных эффектов на примере языка, где, по сути, всё из этих же самих побочных эффектов состоит.

Я вот недавно пример с композицией на С писал:

#include <stdio.h>
#include <stdlib.h>
#include "functional.h"

int main(int argc, char **argv) {
    long r = 0, end = atol(argv[1]) + 1;
    auto f = LAMBDA(long, (long x) { return x == 0; });
    auto g = LAMBDA(long, (long x) { return x % 2; });
    auto cond = COMPOSE(long, f, g);
    for (long i = 1; i < end; ++i) if (cond(i)) r += i;
    printf("%ld\n", r);
    return 0;
}

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

Но, что насчёт побочных эффектов? Как объяснить смысл и разницу побочных эффектов на примере языка, где, по сути, всё из этих же самих побочных эффектов состоит.

Я вот недавно пример с композицией на С писал:

#include <stdio.h>
#include <stdlib.h>
#include "functional.h"

int main(int argc, char **argv) {
    long r = 0, end = atol(argv[1]) + 1;
    auto f = LAMBDA(long, (long x) { return x == 0; });
    auto g = LAMBDA(long, (long x) { return x % 2; });
    auto cond = COMPOSE(long, f, g);
    for (long i = 1; i < end; ++i) if (cond(i)) r += i;
    printf("%ld\n", r);
    return 0;
}