1. Куча / Говнокод #11822

    +138

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    # it makes sense to use it only for
    # numbers up to 100
    fun StringToInteger (str) {
        int = -1;
        for (i=0; i<=100; i++) {
            if (i+"" == str) {
                int = i;
                break;
            }
        }
        return int;
    }

    Функция преобразования строк в целые числа из кода бутскрина Ubuntu на неизвестном науке кастомном скриптовом языке.
    Пруфлинк: http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/precise/plymouth/precise/view/head:/themes/ubuntu-logo/ubuntu-logo.script#L149

    Запостил: Shnatsel, 22 Сентября 2012

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

    • > fun
      Функция for fun
      Ответить
    • велосипеды всякие нужны, грабли всякие важны.

      велосипедо-переизобретатели, блин....

      PS скрипт для Plymouth: https://wiki.ubuntu.com/Plymouth
      на фоне того как Qt/KDE сделали JS реюзабл, выглядит еще более комично.
      Ответить
      • > PS скрипт для Plymouth: https://wiki.ubuntu.com/Plymouth
        В Линуксе есть еще столько неоткрытых самобытных языков программирования... редкая программа в Линуксе не располагает в своем арсенале каким-нибудь, а то и несколько их.
        Ответить
        • но во многих случаях, мне лично, вызов через `system()` какого внешнего языка или даже шелла очень часто позволяет избегать переизобретания лисапедаф. (в оссобенности в тестовых программах когда нужно чего извне вытянуть и сравнить с выводом тесткейса.)

          не говоря про то что почти все популярные языки - Perl, Python, етц - предоставляют С-интерфейс через который можно прямо из программы на лету сгенерированые скрипты выполнять и их результаты опрашивать.
          например для питона: http://docs.python.org/extending/embedding.html
          Ответить
          • Я в шутку, и, вообще имел в виду всякую эзотерику типа скриптового языка grub'a, yum'a и т.п. Да или хотя бы тот же vimscript от которого даже самых стойких в дрожь бросает :)
            Ответить
            • > всякую эзотерику типа скриптового языка grub'a, yum'a и т.п. [...] vimscript [...]

              сначала ты делаешь конфиг файл со списком переменных.

              потом ты генерализируешь это в список комманд. что как бы и логично.

              неизбежно кто-то просит добавить тривиальные операции что бы можно было значениями переменных манипулировать, ака строковые и арифметические операции.

              потом какой-то умник приходит, реализует `if` и `while` и внезапно все уже говорят о скриптовом языке...
              Ответить
    • Если бы бинарным поиском, то можно было бы и до 1000 дотянуть, а может даже и больше...
      Ответить
      • Другой вопрос - а надо ли вообще переводить строки в числа в скриптах для бутскрина? ;)
        Ответить
        • Надо: с помощью этой функции рисуется прогрессбар. Процент выполнения загрузки передаётся скрипту в виде строки, как и любые другие сообщения. Собственно, поэтому и до 100 :)
          Ответить
          • Нет, даже не так. Для прогресса загрузки как раз предусмотрен специальный callback и значение передаётся в виде числа.

            А эта функция используется в коде обработки fsck. Непонятно, зачем там вообще нужно число - бутскрин всего лишь выводит проценты в виде строки.
            Ответить

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