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 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.