django.views.generic.list_detail.object_list - Это обеспечивает всю логику & переменные шаблона для разбиения на страницы (одна из тех I've-written-that-a-thousand-times-now тяжелых работ). Обертывание это допускает любую логику, в которой Вы нуждаетесь. Этот драгоценный камень сохранил меня много часов отладки ошибок диапазона на моих страницах "Search Results" и заставляет представление кодировать инструмент для очистки в процессе.
Тип примечания «() => Любой» не совпадает с параметром по имени «=> Любой». Тип «() => Any» - это функция, которая не принимает параметров и возвращает Any, тогда как параметр по имени «=> Any» задерживает выполнение параметра до тех пор, пока он не будет использован, и вернет Any.
Итак, что вам нужно сделать вот следующее:
var action: () => Any = null
def setAction(act: => Any) = action = () => act
setAction(println("hello")) // does not print anything
action() // prints "hello"
setAction(123)
action() // returns 123
Я думаю, что ваше объявление параметра неверно. Вероятно, это то, что вам нужно, если вы просто хотите сохранить функцию в переменной для дальнейшего использования:
def setAction(act:() => Any) {
action = act
}
, а затем:
scala> def p() { println("hi!") }
p: ()Unit
scala> setAction(p)
scala> action()
hi!
res2: Any = ()