LINUX.ORG.RU
cast [ list svu geek ] :)
gaa ★★
()
try {
    // let's use some C++0x magic
    vector<string> patients = { "svu", "geek" };

    cast(patients);
}
catch (exception& x) {
    cout << "Куда попряталесь?" << endl;
}
tailgunner ★★★★★
() автор топика
Ответ на: комментарий от tailgunner
bool cast(const char * user) {
  /* ... do cast and return true if successful ... */
}

const char * const usersToCast[] = {
  "svu",
  "geek",
}

for (int i = 0; i < sizeof(usersToCast) / sizeof(usersToCast[0]); ++i) {
  if (!cast(usersToCast[i]))
    printf("%s is absent :(", usersToCast[i]);
}
anonymous
()
Ответ на: комментарий от anonymous
Чёрт, опять забыл про комментарии в Python:
s%/* TODO: do cast and return true if successful */%# TODO: do cast and return true if successful%
anonymous
()
Ответ на: комментарий от anonymous
(defun cast (user)
  "Do cast and return true if successful"
  nil)

(map 'list #'(lambda (user) 
                (unless (cast user)
                    (format t "User ~a is absent" user)))
     '("svu" "geek"))
Sectoid ★★★★★
()
Унифицированный формат с возможностью легкого разбора как программой так и человеком _НУЖЕН_. Рад что зашевелилось.
Oceanborn
()
Ответ на: комментарий от anonymous
@UsersToCast = ("svu", "geek");

foreach $s (@UsersToCast){
        cast ($s) || print "$s is absent\n";
}


sub cast {
#... do cast and return true if successful ...
}
anonymous
()
Ответ на: комментарий от tailgunner
> let's use some C++0x magic

Я думал, что на это Absurd скастуется... Ан нет, тоже запропал :)
gaa ★★
()
>Попрошу заметить - никакого XML, а Ocaml-подобный DSL для работы с уже существующими форматами конфигов.

По сцылке: Augeas is a configuration editing tool. It parses configuration files in their native formats and transforms them into a tree.

Это что за достжение: для каждого конфига свой костыль?

Absurd ★★★
()
Ответ на: комментарий от Oceanborn
> Унифицированный формат с возможностью легкого разбора как программой так и человеком _НУЖЕН_

Думаю, он нужен только тебе с гиком %)

> Рад что зашевелилось.

/me зопесал: Oceanborn труЪ

tailgunner ★★★★★
() автор топика
Ответ на: комментарий от Absurd
> Это что за достжение: для каждого конфига свой костыль?

Это такой костыль с плагинами :D А ты правда считаешь, что намного легче переписать весь существующий зоопарк?

tailgunner ★★★★★
() автор топика
Ответ на: комментарий от tailgunner
>А ты правда считаешь, что намного легче переписать весь существующий зоопарк?

1) Это намного лучше чем мэйнтейнить зоопарк костылей. Хотя... скорее всего это приведет к тому что разработчики под давлением мэйнтейнеров приведут свои конфиги к общему наиболее отлаженному костылю, и скорее всего это будет xml.

2) Линия gaa в былинном треде про конфиг Иксов была в том что дерево это очень частный случай представления данных и существующие структуры притягивать за уши к деревянному виду не следует. А по ссылке данные приводят именно к деревянному виду.

Absurd ★★★
()
Ответ на: комментарий от Absurd
>> А ты правда считаешь, что намного легче переписать весь существующий зоопарк?

> 1) Это намного лучше чем мэйнтейнить зоопарк костылей. Хотя... скорее всего это приведет к тому что разработчики под давлением мэйнтейнеров приведут свои конфиги к общему наиболее отлаженному костылю, и скорее всего это будет xml.

Странный вывод, ну да ладно... Суть augeus как раз в том, что разработчикам не нужно ничего приводить. Здесь есть более подробное описание: http://www.linuxsymposium.org/2008/ols-2008-Proceedings-V2.pdf

> Линия gaa в былинном треде про конфиг Иксов была в том что дерево это очень частный случай представления данных и существующие структуры притягивать за уши к деревянному виду не следует. А по ссылке данные приводят именно к деревянному виду.

gaa мог быть неправ, а augeus еще молодой проект.

tailgunner ★★★★★
() автор топика
Ответ на: комментарий от Absurd

Re^2: По следам флеймов о конфигах

> 2) Линия gaa в былинном треде про конфиг Иксов была в том что дерево это очень частный случай представления данных и существующие структуры притягивать за уши к деревянному виду не следует. А по ссылке данные приводят именно к деревянному виду.

По ссылке с ними _работают_ в деревянном виде. А _хранят_ в формате, выбранном автором программы.

То есть неудобства деревянной модели (если они появятся) свалятся не на голову автора оригинальной программы, а на голову конфигоредактора.

Итого: оригинальный автор не задет, любитель деревьев -- ссзб(какой тонкий каламбур, однако!), gaa доволен :)
gaa ★★
()
Ответ на: Re^2: По следам флеймов о конфигах от gaa
>То есть неудобства деревянной модели (если они появятся) свалятся не на голову автора оригинальной программы, а на голову конфигоредактора.

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

Absurd ★★★
()
Ответ на: комментарий от Absurd

Re^4: По следам флеймов о конфигах

>>То есть неудобства деревянной модели (если они появятся) свалятся не на голову автора оригинальной программы, а на голову конфигоредактора.

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


Учитывая вред от общего знаменателя в данном случае, замедление миграции очень даже к месту.
gaa ★★
()
Ответ на: комментарий от Absurd
>> То есть неудобства деревянной модели (если они появятся) свалятся не на голову автора оригинальной программы, а на голову конфигоредактора.

> Если этот подход станет мейнстримом то новые проекты будут привязываться к уже существующим врапперам

Не факт. Зависит от многих факторов, в частности - от сложности написания враппера (который правильнее назвать трансформатором %) или линзами, как в тексте).

tailgunner ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему: топик перемещен в архив.