- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
void keyStart(int key,void (*func)())
{
while(SDL_PollEvent(&keyEvent))
{
switch(keyEvent.type)
{
case SDL_KEYDOWN:
switch(keyEvent.key.keysym.sym)
{
/*Выход*/
case SDLK_ESCAPE:
func();
break;
case SDLK_w:
func();
break;
case SDLK_q:
func();
break;
default:
break;
}
break;
default:
break;
}
}
}
bormand 06.11.2012 05:58 # +8
> break;
Функция высшего беспорядка.
LispGovno 07.11.2012 11:03 # −1
Поясню для неопытных (Это не вам, Bormand). По определению функция высшего порядка - функция принимающая в качестве параметра или возвращающая результатом другую функцию. Хотя тут скорее надо было назвать не func, а proc или action, ибо от него есть только сайд эффекты. Функцией язык её назвать не поворачивается.
Steve_Brown 06.11.2012 10:33 # +2
bormand 06.11.2012 11:28 # +1
Steve_Brown 06.11.2012 12:14 # +2
Fai 06.11.2012 13:02 # +1
absolut 06.11.2012 13:22 # +2
Steve_Brown 06.11.2012 13:26 # +2
bormand 06.11.2012 13:31 # 0
Конечно. Но с осмысленными комментариями к этим меткам весьма неплохо читается.
Как-то так это выглядело: P.S. Да и никто в здравом уме не будет править выхлоп генератора, он же все перетрет при следующей выгрузке из базы. Эти коменты туда писались для удобства отладки генератора.
eth0 06.11.2012 20:57 # +2
Обожаю астериск (хоть и не видел его с 2007-го года). Офигенная штука. Помню, написал автодозвонщик с веб-интерфейсом. Указываешь номер абонента, время; он создаёт файл дозвонки и соединяет абонента, неосмотрительно поднявшего трубку, с gsm-файлом с дикими воплями. При астерисковой агрессивной политике дозвона - офигенная штука. Как-то один упоротый клиент был подписан на час ночи, после первого дозвона в логах пошли сообщения о невозможности дозвониться.
А ещё звонки в федеральные города через сипнет были халявными. Золотые времена.
mvuBfZP 25.08.2021 07:55 # 0