Перейти к содержимому

LeshaInc

Пользователи
  • Публикации

    777
  • Зарегистрирован

  • Посещение

  • Победитель дней

    68

Комментарии блога, опубликованные пользователем LeshaInc

  1. OpenComputers 1.7.0


    > хотел немного славы

     

     

    <LeshaInc> fingercomp: fingercomp fingercomp fingercomp fingercomp fingercomp 
    <LeshaInc> ПОЧЕМУ
    <LeshaInc> меня нет
    <LeshaInc> в списке контрибуторов
    <LeshaInc> АААААААА?
    <Fiender> ууу
    <Fiender> неосилил
    <Fiender> РИП РИП РИП
    <LeshaInc> fingercomp: 
    <LeshaInc> fingercomp: 
    <LeshaInc> ААААААААААААААААААААААА
    <LeshaInc> fingercomp: 
    <Fiender> НЕОСИЛИЛ
    <Fiender> НЕОСИЛИЛ
    <Fiender> НЕОСИЛИЛ
    <LeshaInc> ААААААААААААААААААААААААААААААА
    <LeshaInc> ААААААААААААААААААААААААААААААА
    <LeshaInc> ААААААААААААААААААААААААААААААА
    <LeshaInc> ФИНГЕР РИПНУЛСЯ
    <LeshaInc> И ПАЯНЕЛ ТОЖЕ
    <fingercomp> ?
    <LeshaInc> АААААААААААААААААААААААААААААААААААААААААААААААААААААА
    <LeshaInc> fingercomp: 
    <LeshaInc> МЕНЯ НЕТ
    <LeshaInc> в списке контрибуторов
    <LeshaInc> релиза
    <Fiender> ууу
    <Fiender> неосилил унрип
    <Fiender> ГАЧИАБН
    <Fiender> ГАЧИБАН
    <fingercomp> ок
    <LeshaInc> fingercomp: fingercomp fingercomp fingercomp fingercomp 
    <LeshaInc> ПОЧИНИ 

     

     


  2. hCV67eU.png


    Кхм-кхм. Мой джем на подходе! В общем это будет крутая библиотека для ФП.

    К примеру, посмотрим на такой безобидный кусок кода:
    result = {}
    
    for v in *table
      table.insert result, v if v % 2 == 0
    
    Можете сказать сразу что он делает? Нет.
    А я скажу, этот кусок кода выбирает все четные значения из таблицы. Код написан в императивном стиле.

    А теперь посмотрим на код используя мою библиотеку:
    even = (a) -> a % 2 == 0
    result = f.select even, table
    
    Тут все сразу понятно, если вы знаете английский. Мы выбираем все четные значения. Проще некуда!

    Алсо, поддерживается каррирование. Все функции библиотеки каррированы. Например:
    odd = (a) -> a % 2 ~= 0
    select_odd = f.select odd
    
    select_odd {1, 2, 3, 4}  -- {1, 3}
    
    По сути каррированная функция в случае если функция не получит все нужные ей аргументы возвратит еще одну функцию которая будет принимать оставшиеся аргументы. Проще понять из примера:
    add = (a, b) ->
      if b
        a + b
      else
        (b) ->
          a + b
    
    add 1, 2  -- 3
    addOne = add 1  -- function
    addOne 2  -- 3
    
    Все очень просто. Каррировать свою функцию можно используя встроенную функцию curry:
    add = f.curry (a, b) ->
      a + b
    
    add 1, 2 -- 3
    addOne = add 1 -- function
    addOne 2 -- 3
    
    Все работает точно так же, как и должно.

    Удачи всем!

    :P

  3. Вопрос нуба))

    Если эти языки такие универсальные, тогда почему они не так популярны как Си?

     

    Все просто, Си появился в 1972, 44 года назад. Раст же в 2010, 6 лет назад. В общем то за такое время у Си набралось много учебных материалов, вакансий, примерных проектов. Что у раста за 6? Мощное сообщество (Mozilla), немного проектов, большинство из которых еще на ранних стадиях. Вакансий нет.

     

    Стоит подождать лет эдак 10 раст станет более популярным, не то что скала (привет, @Totoro), которая за 13 лет набрала 276 контрибьюторов всего. Для сравнения, в гитхабе раста 1427 контрибьюторов.

    • Нравится 2
  4. OpenComputers 1.6. #2


    Что за трубы? Где про них почитать?

     

     

    Я тоже про трубы не понял кстати.

     

    Труба - |

    Перенаправляет выход одной программы во вход другой программы.

    Например:

     

    ls -a / | grep "init"
    

    Здесь выполняется команда ls -a /, все что она должна была писать на экран пишется в grep "init"

  5. Пишу движок


    Экраны у нас тоже 2D, но это не мешает нам 3D объекты рисовать.

    Так и ты, сделай какой нибудь 3D рендеринг.

     

    Слишком дорого обойдется в плане времени, и LÖVE расчитан на 2D, а рендерить 3D слишком дорого в плане ресурсов, ибо Lua.

     

    Ну и хотелось мне закодить 2D платформер, а не 3D кубормер. =)

  6. Пишу движок


    Сделай 3D версию игры Cube, которую я писал. С алгоритмами могу помочь.

     

     

    Если есть возможность, пожалуйста, скиньте идейку для платформера, какогонибудь.

     

    А еще LÖVE -- движок для 2D, а не 3D.


  7. Ну я не знаю.

    Я конечно начал делать веб-обвязку и все такое.

    Но сейчас желание пропало доделать до конца.

     

    Вообще APT-GET выгнодней всего писать на вебсокетах, юзая, например Node.JS ( или django, но это уже совсем мазохизм). Сокеты, в обвязке с Node.JS горааааздо быстрее скриптов на php. Потом, можно в качестве хранения списка репозиториев хранить не файлик в корне сайта (привет из 90-х), а какую-нибудь БД, SQLite, или MySQL(i). Потом да, добавить репозитории. Например репозиторий Васи, который находится по урл http://vasiliy-repo.net/ocrep/, и чтобы можно было добавлять свои репы, добавляя в файлике, например /usr/apt/repos.txt урлы репозиториев.


  8. И зачем (хоть и частично) копипастить хабр? Я думал ты свой вебсервер написал,а ты всего-то использовал nginx (кстати, ты написал, что последние версии используют LuaJIT, nginx с ним работает уже несколько лет, голый nginx,а не эта "сборка")

    Сразу видно что ты даже половины не прочитал. На хабре я узнал про эту штуку, первая часть частично саопипасчена с хабра. А ведь есть ещё 3 части..
×
×
  • Создать...