Аппликативное программирование и типы языка Common LISP

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

5
задан Al Fraser 5 April 2009 в 13:21
поделиться

2 ответа

Ну, Вы обычно корректны. Большинство функций действительно фокусируется на списках (mapcar, find, count, remove, append и т.д.) Для нескольких из них существуют эквивалентные функции для последовательностей (concatenate, some и every придите на ум), и некоторые, где эквивалентное списку устарело (например. nth для списков только по сравнению с. elt для всех последовательностей). Некоторые функции просто работают над последовательностями (length, например).

CL является определенной путаницей. Это - большой язык, как в огромном. Более чем 700 функций, AFAIK. И это старо. Некоторые из этих функций удерживаются от использования условно, и другие редко, если когда-либо, используются.

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

Тем не менее Вас не оставляют полностью в холоде. loop макро-работы над последовательностями, как делает iterate (отдельный макрос цикличного выполнения, который мне, оказывается, нравится больше). Это получит Вас далеко. Для наиболее практических целей Вы будете использовать списки, и это не будет больше, чем прагматическая проблема. Если Вы, действительно оказывается, испытываете недостаток в отображающейся функции векторов (или последовательности в целом), кто должен мешать Вам писать это?

1
ответ дан 18 December 2019 в 14:51
поделиться

Да ведь существует много функций, работающих над последовательностями. Отображение по последовательности сделано с MAP или MAP - В.

Посмотрите на раздел последовательностей CLHS для обнаружения больше.

Существует также справочник, который приятно организован.

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

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