-
Туплю чуть. Непонятно, что в выделеном участке кода происходит. Vowel=['А', 'Я', 'О', 'У', 'Ю', 'Е', 'Э', 'И', 'Ы', 'Ё',
'а', 'я', 'о', 'у', 'ю', 'е', 'э', 'и', 'ы', 'ё'];
Symbs=['Ь', 'ь', 'Ъ', 'ъ'];
Cons=['А'..'Я', 'а'..'я']-Vowel-Symbs;
-
Операция над множествами там происходит, что же еще ..
-
> Gydvin (28.04.2008 15:56:00) [0]
Их множества А, исключается множесто Б, а зачем В Кто то извращался.
-
> Anatoly Podgoretsky © (28.04.08 16:12) [2] > Кто то извращался.
И в чём именно извращение?
> Gydvin © (28.04.08 15:56)
Ради интереса, откуда этот код? Очень похоже на одну мою программу, но есть мелкие отличия.
-
> Григорьев Антон © (28.04.08 16:39) [3] > > > > Anatoly Podgoretsky © (28.04.08 16:12) [2] > > Кто то извращался. > > И в чём именно извращение? >
Ни в чём. Я так постоянно составляю константы. Очень удобно.
-
> Григорьев Антон (28.04.2008 16:39:03) [3]
Извращение простое, можно же прямо написать set of [что надо], без этих, пусть и на этапе компиляции и это что то будет более понятно, на надо будет ломать голову или создавать на бумажке это "что надо". Я же не утверждаю, что это не рабочее.
-
> Германн (28.04.2008 16:47:04) [4]
Ну так это тебе, а со стороны это тяжело читать, нафиг голову то напрягать?
-
> [5] Anatoly Podgoretsky © (28.04.08 17:00)
К чему эта лишняя работа? Если рядом с таким объявлением имеется вменяемый комментарий, то эта строчка вполне правильная, и сокращает объём исходника не в ущерб наглядности.
-
> Anatoly Podgoretsky © (28.04.08 17:00) [5]
> Anatoly Podgoretsky © (28.04.08 17:01) [6]
Очень удобно. Если одна константа меняется, например при развитии программы, то автоматом меняются и другие константы, которые от неё зависят.
-
И по смысловой наглядности очень удобно: согласные - это все_буквы минус гласные и минус спец_буквы.
Все просто и понятно. И еще [8].
-
> Ради интереса, откуда этот код? Очень похоже на одну мою > программу, но есть мелкие отличия.
Возможно. Это огрызок из одной проги (мне автор подогнал, на самом восходе моего ученичества по делфи, для совместимости с моими, типа, плагинами). Юнита переноса слов. Сегодня обучал ее юникоду и потому вопросы возникали.
> И по смысловой наглядности очень удобно:согласные - это > все_буквы минус гласные и минус спец_буквы.
если не сложно. Можно нагляднее - продолжаю тупить
-
какие именно значки не понятны?
-
значки то все понятны. Не понятно что происходит с Cons, когда оттуда, якобы происходит отнятие Vowel и Symbs.
Если читать дословно (как я понимаю) Cons - это двух уровневый массив char. От него (как то) идет отнятие одноуровневых массивов! Хотя дальше по коду есть строка (if texti[i] in Cons then) и символы вроде, как учавствуют... Короче не вьехал. Для примера если взять такой: Cons=['1'..'3'] от него "отнять" Symbs=['1'] что будет с Cons?
-
> Gydvin (28.04.2008 19:28:12) [12]
Будет 2..3
-
Ты где нашел слово "массив"? это не массивы, это множества. Бегом бежим за учебником паскаля (ну или в справку) изучать ключевое слово Set
-
> Бегом бежим за учебником паскаля (ну или в справку) изучать > ключевое слово Set
а придется...
> Anatoly Podgoretsky © (28.04.08 19:32) [13]
то есть происходит "отнятие" "участка" Symbs из Cons? Как бы удаление субстроки. Поправьте если ошибаюсь
-
> то есть происходит "отнятие" "участка" Symbs из Cons? Как > бы удаление субстроки. Поправьте если ошибаюсь
все так же как в теории множеств...
-
> то есть происходит "отнятие" "участка" Symbs из Cons? Как > бы удаление субстроки. Поправьте если ошибаюсь >
В памяти, которую это множество занимало, один бит выставляется в 0.
-
> то есть происходит "отнятие" "участка" Symbs из Cons? Как > бы удаление субстроки. Поправьте если ошибаюсь
Ты ошибаешься. множество - это массив булевский(грубо говоря, вообще он может и в битах хранится, и как угодно). И когда ты исключаешь значение или добавляешь, размер НЕ меняется. Как уже сказано в [17] соответствующему элементу выставялется флаг false. и все.
-
Вот! :0) Теперь понятно. Спасибо.
-
мх довольно удобный механизм... :)
-
> Gydvin © (28.04.08 19:12) [10] > Возможно. Это огрызок из одной проги (мне автор подогнал, > на самом восходе моего ученичества по делфи, для совместимости > с моими, типа, плагинами). Юнита переноса слов. Сегодня > обучал ее юникоду и потому вопросы возникали.
Точно, для переноса слов :) Мой вариант, если интересно, здесь: http://www.delphikingdom.com/asp/viewitem.asp?catalogid=171А под Unicode этот участок просто так не перенесётся. Базовым типом множества должен быть тип с не более чем 255 элементов, так что WideChar не подходит. Разве что на будущие версии Delphi с поддержкой Unicode надежда, потому что множества часто используются при работе с символами, и если нельзя будет делать WideChar-множества, много кода окажется непереносимым.
-
Григорьев Антон © (28.04.08 21:08) [21]
> WideChar-множества
8 кб на встроенный тип? Неплохо.
|