Уважаемые, есть ли способ передать в руби функцию в качестве аргумента другой функции? То есть примерно так:
def cmp(a,b):
a > b
def mykewlsort(f,arr):
[тут сортировка с использованием f в качестве упорядочивающей фукнции]
mykewlsort(cmp, [1,2,3])
?
Ведь просто 'cmp' это вызов cmp с пустыми параметрами. Гуглёж выдаёт какие-то сумасшедшие способы. Однако, кмк, должны быть простейшие способы так сделать, иначе какой же это acceptable lisp?
Есть большоооой легаси-проект, написанный вполне сносно, в котором надо разобраться в сжатые сроки. Разбираться там руками очень не хочеца. Может есть какие-нибудь тулзы для порождения control-flow-диаграмм и/или data-flow-диаграмм? Чтобы "окинуть взгядом" так сказать.
Не подскажет ли кто примерный алгоритм diff-а, который бы уважал структуру HTML-документа. Иными словами, результатом сравнения двух HTML-ек будет нечто вроде:
Есть модель, допустим "Магазин". Есть редактируемый список свойтсв (модель "Свойства"). Каждое свойство может иметь как ограниченный набор значений (например: типы продаваемой продукции -- книги, фаллоимитаторы, овощи.), так и произвольное значение (кол-во этажей: 1,2,3,...). Надо сделать так, чтобы в админке джанги при добавлении/редактировании Магазинов можно было приделывать к объекту магазин разные атрибуты и их значения (выбирать селектом из ограниченного списка или вводить руками в инпут в случае неограниченного выбора значений).
Всю голову сломал.
Родил пока следующее:
[code]
class Property(models.Model):
name = models.CharField(u'Название свойства')
class PropertyValue(models.Model):
property = models.ForeignKey(u'Свойство')
value = models.CharField(u'Значение свойства')
class Shop(models.Model):
name = models.CharField(u'Название магазина')
Соотв. не понимаю, как научить админку делать выбор при показе списка значений -- сначала выбираем Property, потом видим список значений у неё (PropertyValues where property=наша проперти). И потом при показе еще научить её смотреть в explicit_value, если property_value = 0.
Из самопальных вьюх со стороны морды я это сделать могу, а вот в админке не выходит..
Имеется пепелац -- 512 метров памяти (встроенная интелевская видюха, соотв. реально доступной памяти меньше), проц целерон 2.66 с 256кб кэша на борту. Сейчас на этом деле стоит zenwalk и как-то не особо шустро ворочается -- постоянно запущены иксы, xfce, опера (фф3 слишком много ест памяти), мп3-плеер (bmpx), пара терминалов, пидгин и несколько вимов.
Периодически отклик от системы достигает нескольких десятков секунд.
Вопрос -- можно ли как-то это дело заставить работать резвей? Подойдут все решения, вплоть до смены дистриба на генту :-D
Что странно, XP на этом компе с примерно теми же запущенными задачами справлялась на ура..