Как может Вы переписывать “начаться” в Схеме?

Лучший способ сделать это было бы к галочке на выбранную строку.

можно сделать это путем установки accessoryType на выбранных экземплярах UITableViewCell к UITableViewCelAccessoryCheckmark.

Для отмены выбора строки задержите его к UITableViewCellAccessoryNone.

Для перечисления, какие ячейки/строки были выбраны (говорят, после нажатия кнопки), просто выполните итерации по ячейкам поиска таблицы UITableViewCellAccessoryCheckmark. Или, справьтесь, некоторый NSSet и т.п. в Вашем делегате табличного представления в "действительно выбирал" методы делегата.

12
задан eljenso 5 November 2009 в 21:33
поделиться

2 ответа

Вы не можете. Дело в том, что begin выполняет две роли: одна - это последовательность нескольких побочных выражений, а другая - используется для «склейки» результатов макроса. Тот факт, что вы можете использовать begin с определением, как в приведенном выше, является результатом этой второй особенности, и вы не можете написать его самостоятельно.

Если вы действительно хотите следить за всей историей, тогда вы мог определить begin как простой макрос, который заставляет его выполнять только аспект секвенирования (и он действительно может быть реализован как таковой, хотя обычно это не так). Но , вам нужно добавить явное распознавание begin s в определения соединения (верхнего уровня или внутреннего). Это означает, что реализация макроса в порядке, но на самом деле это не может быть библиотека, потому что модуль расширения ядра должен знать об этом. (И поскольку язык имеет лексическую область видимости, у основного расширителя нет хорошего способа идентифицировать begin s, которые не определены в основном языке.)

Подводя итог всему этому, вы могли бы сказать что R5RS ошибается только в классификации begin как «синтаксис библиотеки», поскольку он не может быть определен в библиотеке ... но даже это не совсем верно, поскольку R5RS определяет «синтаксис библиотеки» как просто «производный выражения ". Поэтому на самом деле неправильный момент заключается в том, что одна из двух граней begin реализована где-то в другом месте, в расширителе (для контекстов определения).

Обратите внимание, что R6RS проясняет всю сделку: две лица begin сделаны явными,

18
ответ дан 2 December 2019 в 18:19
поделиться

Вы все еще можете попробовать написать версию begin, удовлетворяющую его первой роли: упорядочение.

(define-syntax sequencing
  (syntax-rules ()
    [(_ expression) expression]
    [(_ expression expressions ...)
     ((lambda (ignored) (sequencing expressions ...)) expression)]))

Вот сообщение, из которого я взял этот фрагмент. Он обеспечивает лучший контекст, если вам интересно , а может быть, и вы.

2
ответ дан 2 December 2019 в 18:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: