Переведу код с c++ на javaScript и наоборот

Тема в разделе "Сделаю проект", создана пользователем Yaroslav1, 15 июл 2019.

?

Какой язык программирования вы знаете?

  1. C++

  2. JavaScript

  3. Python

  4. HTML

  5. Java

Можно выбрать сразу несколько вариантов.
Результаты будут видны только после голосования.
  1. Yaroslav1

    Yaroslav1 Нерд

    Пишите.
     
  2. Asper Daffy

    Asper Daffy Иксперд

    С JS на С++ и наоборот? Любой код небольшого размера? Точно? А скока стоит? Построчно или как?
     
  3. Yaroslav1

    Yaroslav1 Нерд

    Да.
    Бесплатно.
    Целиком.
     
  4. Asper Daffy

    Asper Daffy Иксперд

    Спасибо. Есть ответы на все вопросы, кроме одного - любой код? Или есть какие-то ограничения?
     
  5. Yaroslav1

    Yaroslav1 Нерд

    Любой.
     
  6. Asper Daffy

    Asper Daffy Иксперд

    Хорошо, увидимся :)
     
  7. NikitOS

    NikitOS Public enemy Администратор

    @Yaroslav1, отредактируйте голосование и уберите html, сейчас прибегут и тапками побьют
     
  8. Yaroslav1

    Yaroslav1 Нерд

  9. Daniil

    Daniil Гуру

    Пролистал голосовалку и не заметил:D
    html это язык разметки документов. Может, его спутали с чем? Или это для "резюме", что вы знаете его?
     
  10. NikitOS

    NikitOS Public enemy Администратор

    Кнопка "Редактировать" справа от заголовка голосования.
     
  11. Yaroslav1

    Yaroslav1 Нерд

    Там ведь нельзя убрать то, что уже есть.
     
  12. b707

    b707 Гуру

    нет, пусть останется :) Сразу видно, что ТС знает много языков :)
    Это как вывеска "Переведу на рузский"
     
  13. Asper Daffy

    Asper Daffy Иксперд

    Пожалуйста, если не трудно с С++ на JS. Код на С++ компилируется в ардуино ID 1.8.9 и, если залить, то мигает светодиодами с 6 по 13, каждый со своей длительностью.

    Код (C++):
    #define dr(n,X) (n,X)
    #define cat(a, ...) primitive_cat(a, __VA_ARGS__)
    #define primitive_cat(a, ...) a ## __VA_ARGS__
    #define iif(c) primitive_cat(iif_, c)
    #define iif_0(t, ...) __VA_ARGS__
    #define    p6(n) (n+6)
    #define iif_1(t, ...) t
    #define check_n(x, n, ...) n
    #define check(...) check_n(__VA_ARGS__, 0,)
    #define probe(x) x, 1,
    #define empty()
    #define defer(id) id empty()
    #define obstruct(...) __VA_ARGS__ defer(empty)()
    #define expand(...) __VA_ARGS__
    #define dec1(x) primitive_cat(dec1_, x)
    #define    m6(_) (p6(_),_>=0)
    #define dec1_0 0
    #define dec1_1 0
    #define dec1_2 1
    #define dec1_3 2
    #define dec1_4 3
    #define dec1_5 4
    #define dec1_6 5
    #define dec1_7 6
    #define dec1_8 7
    #define dec1_9 8
    #define _not_(x) check(primitive_cat(not_, x))
    #define not_0 probe(~)
    #define M(i, _) pinMode m6(i);
    #define _compl(b) primitive_cat(_compl_, b)
    #define _compl_0 1
    #define _compl_1 0
    #define _bool_(x) _compl(_not_(x))
    #define _if_(c) iif(_bool_(c))
    #define eat(...)
    #define expand(...) __VA_ARGS__
    #define when(c) _if_(c)(expand, eat)
    #define eval(...)  eval1(eval1(eval1(__VA_ARGS__)))
    #define eval1(...) eval2(eval2(eval2(__VA_ARGS__)))
    #define eval2(...) eval3(eval3(eval3(__VA_ARGS__)))
    #define eval3(...) eval4(eval4(eval4(__VA_ARGS__)))
    #define eval4(...) eval5(eval5(eval5(__VA_ARGS__)))
    #define    m20(_) ((_+1)*(20-_))
    #define eval5(...) __VA_ARGS__
    #define drr(n) dr(n,!digitalRead(n))
    #define repeat(count, macro, ...) when(count) (obstruct(repeat_indirect) () (dec1(count), macro, __VA_ARGS__) obstruct(macro) (dec1(count), __VA_ARGS__))
    #define S(i, _) digitalWrite drr(p6(i));delay m20(i);digitalWrite drr(p6(i));
    #define repeat_indirect() repeat
    void setup(void) { eval(repeat(8, M, ~)) }
    void loop(void) { eval(repeat(8, S, ~)) }

    (если чо, я потом могу другой текст на JS подкинуть для перевода на С++ - тоже строк 50 не больше, тебе ж нетрудно, а мне сильно поможешь).

    Спасибо заранее!
     
  14. b707

    b707 Гуру

    ну что над маленькими измываешься? :) Видно же, что ТС лет 12 от силы...
     
    Последнее редактирование: 16 июл 2019
    Daniil и NikitOS нравится это.
  15. Asper Daffy

    Asper Daffy Иксперд

    Уж и пошутить нельзя.

    А так, чё, если человек понимает. что делает этот код - то мы имеем дело с серьёзным СИ'онистом. Ну, а если не понимает, пусть поупражняется. Если разберётся - серьёзно прокачается.

    Я могу и на JS подсунуть что-нить с прототипным наследованием и всеми его фишками. Пусть попробует тоже самое на С++ изобразить. Тоже неслабое упражнение :)
     
  16. b707

    b707 Гуру

    да я тоже пошутил, про смайл забыл поставить :)
     
  17. parovoZZ

    parovoZZ Гуру

    А где здесь С++? Больше похоже на изврат, чем на код.
     
    Yaroslav1 нравится это.
  18. ИгорьК

    ИгорьК Оракул Модератор

    Старая задачка. На JS приблизительно также, только скобок побольше.

    Код (C++):
    pinsintervals = {
        -- номер ноги и длительность мигания
        {1, 1000},
        {2, 3000},
        -- ...
    }

    function make_blink_and_timer(pin, interval)
        gpio.mode(pin, gpio.OUTPUT)
        local ligth = 1
        function blink()
            gpio.write(pin, ligth)
            ligth = (ligth == 0) and 1 or 0
        end
        function maketimer()
            tmr.create():alarm(interval, tmr.ALARM_AUTO, blink)
        end
        return maketimer()
    end

    for _, v in pairs(pinsintervals) do
        make_blink_and_timer(v[1], v[2])
    end
     
  19. NikitOS

    NikitOS Public enemy Администратор

    Можно.
    Неа, не знает
    Он же сам не голосовал
    Он знает только названия :D

    Я обижен на ТС, я там PHP не нашел :(
     
  20. parovoZZ

    parovoZZ Гуру

    А я Pascal, C#, Java, VBA, VLISP, BRAINFACK!, наконец.
     
    NikitOS нравится это.