Конференция "Прочее" » Непонял конструкцию
 
  • Gydvin © (28.04.08 15:56) [0]
    Туплю чуть.
    Непонятно, что в выделеном участке кода происходит.

    Vowel=['А', 'Я', 'О', 'У', 'Ю', 'Е', 'Э', 'И', 'Ы', 'Ё',
             'а', 'я', 'о', 'у', 'ю', 'е', 'э', 'и', 'ы', 'ё'];
      Symbs=['Ь', 'ь', 'Ъ', 'ъ'];
      Cons=['А'..'Я', 'а'..'я']-Vowel-Symbs;

  • Сергей М. © (28.04.08 16:00) [1]
    Операция над множествами там происходит, что же еще ..
  • Anatoly Podgoretsky © (28.04.08 16:12) [2]
    > Gydvin  (28.04.2008 15:56:00)  [0]

    Их множества А, исключается множесто Б, а зачем В
    Кто то извращался.
  • Григорьев Антон © (28.04.08 16:39) [3]

    > Anatoly Podgoretsky ©   (28.04.08 16:12) [2]
    > Кто то извращался.

    И в чём именно извращение?


    > Gydvin ©   (28.04.08 15:56)  

    Ради интереса, откуда этот код? Очень похоже на одну мою программу, но есть мелкие отличия.
  • Германн © (28.04.08 16:47) [4]

    > Григорьев Антон ©   (28.04.08 16:39) [3]
    >
    >
    > > Anatoly Podgoretsky ©   (28.04.08 16:12) [2]
    > > Кто то извращался.
    >
    > И в чём именно извращение?
    >

    Ни в чём. Я так постоянно составляю константы. Очень удобно.
  • Anatoly Podgoretsky © (28.04.08 17:00) [5]
    > Григорьев Антон  (28.04.2008 16:39:03)  [3]

    Извращение простое, можно же прямо написать set of [что надо], без этих, пусть и на этапе компиляции и это что то будет более понятно, на надо будет ломать голову или создавать на бумажке это "что надо".
    Я же не утверждаю, что это не рабочее.
  • Anatoly Podgoretsky © (28.04.08 17:01) [6]
    > Германн  (28.04.2008 16:47:04)  [4]

    Ну так это тебе, а со стороны это тяжело читать, нафиг голову то напрягать?
  • X9 © (28.04.08 17:10) [7]
    > [5] Anatoly Podgoretsky ©   (28.04.08 17:00)

    К чему эта лишняя работа? Если рядом с таким объявлением имеется вменяемый комментарий, то эта строчка вполне правильная, и сокращает объём исходника не в ущерб наглядности.
  • Германн © (28.04.08 17:16) [8]

    > Anatoly Podgoretsky ©   (28.04.08 17:00) [5]


    > Anatoly Podgoretsky ©   (28.04.08 17:01) [6]

    Очень удобно. Если одна константа меняется, например при развитии программы, то автоматом меняются и другие константы, которые от неё зависят.
  • Восхищенный (28.04.08 18:35) [9]
    И по смысловой наглядности очень удобно:
    согласные - это все_буквы минус гласные и минус спец_буквы.

    Все просто и понятно. И еще [8].
  • Gydvin © (28.04.08 19:12) [10]

    > Ради интереса, откуда этот код? Очень похоже на одну мою
    > программу, но есть мелкие отличия.

    Возможно. Это огрызок из одной проги (мне автор подогнал, на самом восходе моего ученичества по делфи, для совместимости с моими, типа, плагинами). Юнита переноса слов. Сегодня обучал ее юникоду и потому вопросы возникали.


    > И по смысловой наглядности очень удобно:согласные - это
    > все_буквы минус гласные и минус спец_буквы.


    если не сложно. Можно нагляднее - продолжаю тупить
  • Palladin © (28.04.08 19:13) [11]
    какие именно значки не понятны?
  • Gydvin © (28.04.08 19:28) [12]
    значки то все понятны. Не понятно что происходит с Cons, когда оттуда, якобы происходит отнятие Vowel и Symbs.

    Если читать дословно (как я понимаю)
    Cons - это двух уровневый массив char. От него (как то) идет отнятие одноуровневых массивов! Хотя дальше по коду есть строка (if texti[i] in Cons then) и символы вроде, как учавствуют... Короче не вьехал. Для примера если взять такой: Cons=['1'..'3'] от него "отнять"   Symbs=['1'] что будет с Cons?
  • Anatoly Podgoretsky © (28.04.08 19:32) [13]
    > Gydvin  (28.04.2008 19:28:12)  [12]

    Будет 2..3
  • Palladin © (28.04.08 19:32) [14]
    Ты где нашел слово "массив"? это не массивы, это множества. Бегом бежим за учебником паскаля (ну или в справку) изучать ключевое слово Set
  • Gydvin © (28.04.08 19:43) [15]

    >  Бегом бежим за учебником паскаля (ну или в справку) изучать
    > ключевое слово Set

    а придется...


    > Anatoly Podgoretsky ©   (28.04.08 19:32) [13]


    то есть происходит "отнятие" "участка" Symbs из Cons? Как бы удаление субстроки. Поправьте если ошибаюсь
  • Palladin © (28.04.08 19:45) [16]

    > то есть происходит "отнятие" "участка" Symbs из Cons? Как
    > бы удаление субстроки. Поправьте если ошибаюсь

    все так же как в теории множеств...
  • Германн © (28.04.08 19:55) [17]

    > то есть происходит "отнятие" "участка" Symbs из Cons? Как
    > бы удаление субстроки. Поправьте если ошибаюсь
    >

    В памяти, которую это множество занимало, один бит выставляется в 0.
  • @!!ex © (28.04.08 20:02) [18]
    > то есть происходит "отнятие" "участка" Symbs из Cons? Как
    > бы удаление субстроки. Поправьте если ошибаюсь

    Ты ошибаешься.
    множество - это массив булевский(грубо говоря, вообще он может и в битах хранится, и как угодно).
    И когда ты исключаешь значение или добавляешь, размер НЕ меняется. Как уже сказано в [17] соответствующему элементу выставялется флаг false. и все.
  • Gydvin © (28.04.08 20:15) [19]
    Вот! :0) Теперь понятно. Спасибо.
  • Gydvin © (28.04.08 20:24) [20]
    мх довольно удобный механизм... :)
  • Григорьев Антон © (28.04.08 21:08) [21]

    > 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:13) [22]
    Григорьев Антон ©   (28.04.08 21:08) [21]

    > WideChar-множества

    8 кб на встроенный тип? Неплохо.
 
Конференция "Прочее" » Непонял конструкцию
Есть новые Нет новых   [134435   +34][b:0][p:0.001]