- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
import std.stdio;
template GenMix()
{
const char[] GenMix =
"template GenMix2()" ~
"{" ~
" const char[] GenMix2 = \"writeln(\\\"Hello, Wandbox!\\\");\";" ~
"};";
}
template MixMix(string Name)
{
const char[] MixMix = "mixin(" ~ Name ~ "!());";
}
mixin(GenMix!());
void main()
{
mixin(GenMix2!());
mixin(MixMix!("GenMix2"));
}
j123123 # 0
bormand # 0 ⇈
j123123 # 0 ⇈
bormand # 0 ⇈
А потом перепишешь сам себя на свой язык.
bormand # 0 ⇈
Там ещё и отсутствующие методы можно генерить по имени в момент их использования.
MAKAKA # 0 ⇈
Desktop # 0 ⇈
MAKAKA # 0 ⇈
Desktop # 0 ⇈
MAKAKA # 0 ⇈
Я говорил про макнипатчинг, и специально оговорился, что "код надо писать заранее".
Если под генерацией мы имеем ввиду генерацию кода, то да, так делать нельзя
bormand # 0 ⇈
Да, в D это именно генерация. Ты обращаешься к несуществующему свойству foo.bar, обработчик несуществующих членов класса Foo триггерится в компайлтайме и генерит код.
Прям как магические методы в PHP, но в компайлтайме.
MAKAKA # 0 ⇈
воу, круто
ну собссно как инстанциация шоблоёбл
Desktop # 0 ⇈
bormand # 0 ⇈
MAKAKA # 0 ⇈
j123123 # 0 ⇈
guest # 0 ⇈
MAKAKA # 0
или tcl, там это прямо фёрст класс ситизн
j123123 # 0 ⇈
MAKAKA # 0 ⇈
но разумеется рантайм там всё равно есть
JloJle4Ka # 0 ⇈
j123123 # 0 ⇈
bormand # 0 ⇈
j123123 # 0 ⇈
MAKAKA # 0 ⇈
JloJle4Ka # 0 ⇈
Ты разве не что-то типа этого программируешь?
До появления Arduino создание электронных устройств было сложным процессом, требующим серьезной подготовки. Платформа открыла дверь в мир электроники новичкам и облегчила жизнь опытным разработчикам.
Мы сделали следующий шаг. Iskra JS — это Arduino-подобный контроллер, понимающий язык JavaScript. Для сборки устройств теперь не нужно осваивать громоздкий С++. Вы будете писать код на JavaScript и управлять электронными модулями: считывать значения с сенсоров, а не ввод пользователя из форм; управлять сервоприводами, а не элементами веб-страницы.
Платформа и набор разработаны и сделаны в России.
HEu3BECTHblu_nemyx # 0 ⇈
[email protected] # 0 ⇈
И отдельные лучи ненависти за то, что узнать, что в стандартной ардуинолибе некая хуйня — это макрос, можно только ВНИМАТЕЛЬНО почитав референс. Ну или когда всё сломается. Naming Conventions для слабаков, да.
MAKAKA # 0 ⇈
ну знаете, в никсаъ тоже часто пишут "may be implemented as macros" в доке
В макоси тоже есть, например XCTAssert
j123123 # 0 ⇈
С каких пор "Arduino" стал контроллером? Это видимо из той же серии, когда системный блок называют процессором.
https://vchemraznica.ru/wp-content/uploads/2017/02/siirs566.jpg
bormand # 0 ⇈
Хотя на ПЛК ардуинка конечно не тянет.
j123123 # 0 ⇈
bormand # 0 ⇈
j123123 # 0 ⇈
https://habr.com/ru/post/221663/
bormand # 0 ⇈
MAKAKA # 0 ⇈
После долгих мытарств, в итоге, я отгородил магнитные пускатели от контроллера подключенной к нейтрали стальной пластиной (заземления к сожалению на момент установки еще не было)
а проблему дисплея решил программно с использованием функции delay();. Как только программа выполняла пуск двигателя или его остановку, включался секундный delay()
какой пиздец
bormand # 0 ⇈
HEu3BECTHblu_nemyx # 0 ⇈
Интересно, кто-нибудь проверял.
[email protected] # 0 ⇈
CHayT # 0 ⇈
https://github.com/grisp/grisp
j123123 # 0
https://wiki.rtzra.ru/_media/qigong/we_need_to_go_deeper.jpg
https://imgs.xkcd.com/comics/backslashes.png
j123123 # 0 ⇈