С быстрым перечислением и NSDictionary повторение в порядке ключей не гарантируется - как я могу сделать так, чтобы оно было в порядке?

С помощью call / cc .

(define (f)
  (call/cc
    (lambda (c) (+ (c 0) (c 1)))))

(write (f))

Вызов c внутри любого аргумента в + приводит к немедленному возврату f, давая 0 или 1, в зависимости от того, какой аргумент сначала оценивается.

Но я подозреваю, что он всегда будет оценивать слева направо и, следовательно, возвращает 0.

13
задан Doug Smith 31 July 2013 в 01:21
поделиться