Упражнение HTDP 6.6.1 - Что это означает под шаблонными функциями? - PullRequest
2 голосов
/ 04 августа 2010

Сейчас я немного развлекаюсь со Схемой, пользуясь книгой "Как работают программы". Пока все довольно просто, но натолкнулся на эту странную формулировку в упражнении 6.6.1 , где мне не ясно, что подразумевается:

Разработайте шаблон забавы для круга, в котором описывается функция, которая потребляет круги. Его результат не определен.

Одна из возможностей, по-видимому, заключается в том, чтобы попросить меня определить функцию более высокого порядка, но это, похоже, просто не подходит, поскольку лямбда-выражения еще не были рассмотрены в книге, и это было бы скорее скачком, прежде чем вы сможете Пройдите, если вы читали книгу как начинающий разработчик.

Другой вариант, по-видимому, просто написать в качестве комментария грубую манеру, в которой будет выглядеть функция. Однако это не соответствует следующим инструкциям в упражнении 6.6.2 для его использования:

Используйте забаву для создания круга.

Я уверен, что мне здесь не хватает чего-то очевидного, но я не уверен, что. К сожалению, я не могу проверить ответы, чтобы увидеть, что это значит, поскольку у меня нет пароля. У кого-нибудь есть понимание?

1 Ответ

2 голосов
/ 04 августа 2010

В HtDP , шаблон - это своего рода эскиз функции, который в основном перечисляет все, что вы знаете о входных данных, включая поля и часто результат рекурсивного вызов части данных (они появятся позже в книге). Вы можете увидеть термин, определенный в верхней части Раздел 6.5 , с примером шаблона.

Кстати, идея написания этих шаблонов в явном виде является центральной в подходе HtDP, особенно когда речь идет о рекурсивных функциях позже - когда это позволяет легко писать рекурсивные определения почти механически, когда у вас есть хороший анализ данных .

...