1. Perl / Говнокод #8784

    −121

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if ($movie->{'genre'}=~m/\,+/)  {
                    my @genre = split(',',$movie->{'genre'}) if $movie->{'genre'};
                    my $genre = join(",", split(',', $movie->{'genre'}, 2));
                    for (my $i = 0; $i <=1; $i++) {
                        $genre .= $genre[$i].',' if @genre;
                    };
                    $genre =~s/\,$//;
                    $movie->{'genre'} = $genre if ($genre);
    };

    На чем-то конкретном внимание заострять не буду.
    Код достаточно прост, но довольно неуклюж.

    Запостил: santa_microbe, 09 Декабря 2011

    Комментарии (33) RSS

    • my $genre = join(",", split(',', $movie->{'genre'}, 2));

      здесь какая-то магия творится...
      Ответить
      • я тоже так сделал но так не сработает,
        скажем split(",", "test1, test2,test3", 2) отдаст массив ("test1", "test2,test3")

        Сам был удивлен )
        Получить что на выходе ты получишь ту же самую строку что и на входе
        Ответить
        • бендер, вы тормозите: join('x', split('x', $whatever)) есть nop.

          ЗЫ перевожу для пыхников: implode( 'x', explode( 'x', $whatever ) )
          Ответить
          • Сори я дурак, думал вы свой вариант выложили
            Ответить
          • сори туплю, не понял сразу о чем вы
            Ответить
          • Скорее всего эта строчка, неудавшаяся попытка, после которой, был сделан, этот цикл
            Ответить
            • >после которой, был сделан, этот цикл
              скажи дураку молиться =\
              это про зпт в предложении
              Ответить
      • магия начинается, если в $movie->{'genre'} есть запятые
        Ответить
        • показать все, что скрытобудта тебе известно откуда та переменная береца, может при добавлении в базу имя проверяется на наличие запятых. Кароче не надо делать высосаных из одного места выводов
          Ответить
          • я имел в виду палец
            Ответить
          • Строчка берется из одного поля таблицы, в поле лежат жанры, разделенные запятыми, в это поле они кладутся хранимой процедурой
            Ответить
            • Ну и чо при добавление оно ника не проверяется штоле?
              Ответить
              • Не улавливаю, что тебя не устраивает ?
                Суть этого куска кода в том, что бы из строки "комедия,боевик,триллер,драма", получилась "комедия,боевик".
                На мой взгляд это сделано не самым лучшим способом.
                Если ты с этим не согласен, то я тебя слушаю.
                Ответить
                • >Если ты с этим не согласен, то я тебя слушаю.
                  Пятачок santa_microbe, а у тебя есть ружье?
                  Кажется, срач начинается, кажестся, срач начинается.
                  Ответить
                • Скорее, "комедия,боевик,триллер,драмакомедия,бое вик".
                  Ответить
    • Ехал genre через genre, сунул genre genre в genre, genre genre genre genre…
      Ответить
      • /**@dialog Dialog*/@Dialog(dialog="dialog")Dialog.Dialog dialog = (Dialog.Dialog)dialog.Dialog(dialog = "dialog") // dialog
        Ответить
    • $movie->{'genre'} = join(',', @{[split(',', $movie->{'genre'})]}[0..1]) if $movie->{'genre'} =~ /,/;
      Ответить
    • показать все, что скрытоvanished
      Ответить

    Добавить комментарий