- 1
- 2
- 3
- 4
- 5
- 6
perft :: Int -> Position -> Int
perft depth pos
| depth <= 0 = 1
| otherwise = sum . map (perft $ depth - 1) $ legalPositions where
legalPositions = filter isLegalPosition nextpositions
nextpositions = map (\move -> makeMove move pos) $ (moves pos)
Fai 28.11.2012 22:14 # +1
LispGovno 28.11.2012 22:31 # −5
Это говнокод, детка.
Govnocoder#0xFF 28.11.2012 22:34 # −2
Fai 28.11.2012 22:52 # −3
И при отправке говнокода, табы бы конвертировались в нужное число пробелов.
roman-kashitsyn 28.11.2012 23:19 # +3
LispGovno 28.11.2012 23:38 # −3
bormand 29.11.2012 06:17 # +4
В разношерстной команде работать с табами ужасно - для своих проектов одни настройки, для участия в других - приходится менять. Мне вот приходилось переключать редактор на табы, чтобы коммитить в код Fai.
А хаскель, как и питон, привередлив к смешиванию пробелов и табов. И может тупо выдать синтаксическую ошибку.
LispGovno 29.11.2012 06:54 # 0
bormand 29.11.2012 08:34 # 0
LispGovno 29.11.2012 09:07 # +2
roman-kashitsyn 29.11.2012 10:41 # 0
Жаль, что многие редакторы до сих пор используют по умолчанию табы.
bormand 29.11.2012 11:22 # +1
Так мне еще и // <br> в конце каждой строки писать?
Steve_Brown 29.11.2012 14:17 # 0
Идеальный вариант - только если редактор может прозрачно обрабатывать пробелы, как будто это табы. Главное. чтобы не только при вставке, но и при перемещении курсора.
Fai 29.11.2012 14:24 # 0
roman-kashitsyn 29.11.2012 14:39 # 0
на что жать? мой emacs сразу ставит правильный отступ.
> когда-нибудь кто-нибудь будет смотреть мой код
я, например, очень часто изучаю код, выложенный на гитхабе. Да и собственные сорцы часто изучаю в gitweb.
Fai 29.11.2012 16:30 # +1
roman-kashitsyn 29.11.2012 16:43 # 0
My fingers can not be retrained.
3.14159265 29.11.2012 16:45 # +2
roman-kashitsyn 29.11.2012 16:52 # 0
http://www.youtube.com/watch?v=h6y0HqT9NTo
3.14159265 29.11.2012 16:54 # 0
roman-kashitsyn 29.11.2012 16:55 # +4
В гугле умеют тонко шутить
Abbath 29.11.2012 19:51 # 0
/fixed
govnomonad 29.11.2012 18:16 # +3
bormand 29.11.2012 18:42 # 0
Все редакторы так умеют. Ну кроме ноутпэда разве что.
> С табами удобнее - не надо несколько раз жать.
Я жму таб, втыкаются 4 пробела. ЧЯНТД? vim, notepad++, mcedit, qtcreator, eclipse, везде с этим норм.
P.S. Да, бекспейс в большинстве редакторов делает отмену indent'а, поэтому курсор и влево прыгает на 4/8/сколько нужно пробелов.
Steve_Brown 30.11.2012 10:13 # +1
VS2008 что-то такого не делает, если в тексте пробелы... В общем, если буду пользоваться чем-нибудь другим, настрою на пробелы.
bormand 30.11.2012 10:44 # +1
В клипсе тоже стирает по одному пробелу. Это жопа, но там работает shift-tab, в визуалке, емнип, тоже.
В креаторе в настройках ставится поведение бекспейса - отмена отступа.
В mcedit по дефолту пашет, если переключиться на пробелы.
В vim работает, на сколько помню на это влияет shiftwidth.
Fai 30.11.2012 13:43 # 0
vim+gcc+gprof+gdb (+tmux)
bormand 30.11.2012 15:11 # 0
bormand 30.11.2012 15:17 # 0
roman-kashitsyn 30.11.2012 15:21 # +1
>> +tmux
Мне, кстати, понравился gyp
bormand 30.11.2012 15:27 # 0
> gyp
Почитаю, на первый взгляд синтаксис выглядит неплохо.
roman-kashitsyn 30.11.2012 16:54 # 0
Да, проклятый недосып... Попутал с tup, упомянутым Fai в другом треде
roman-kashitsyn 30.11.2012 17:09 # 0
Но спецификация проекта gyp мне нравится гораздо больше, чем мутноватый императивный язык cmake.
govnomonad 30.11.2012 15:55 # 0
cmake же
Fai 30.11.2012 21:05 # 0
И кстати, есть tup, который круче в сотню раз. И Роман его уже упомянул, сославшись на мое раннее упоминание.
wvxvw 30.11.2012 15:56 # 0
M-/ - удаляет пробелы, все что есть, и справа и слева, но курсор должен быть внутри этих пробелов.
TAB выравнивает в соответствии с настройками режима редактирования (т.е. может и добавить и убрать пробелов, смотря какой исходный текст был). Работает в любом месте строки, не обязательно перед кодом.
M-C-q - как TAB, только для отдельного выражения.
M-q C-q - специфицчно для SLIME, форматирует описание функции.
M-x TAB - добавляет единицу табуляции в произвольном месте.
C-j - перевод каретки с выравниаванием.
M-C-j - перевод каретки с выравниванием комментариев (добавит разделитель комментариев после перехода на новую строку).
M-C-\ - форматирование выделенного участка кода.
M-m - переход к концу отступа (началу кода), не меняет размер отступа, но удобно в комбинации с M-/ или M-BACKSPACE.
Большинство символов, которые могут повлиять на расстановку пробелов (т.н. электрические символы) тоже могут добавить или убрать пробелы.
Ну и для тех, кому показалось мало:
roman-kashitsyn 30.11.2012 17:11 # 0
wvxvw 30.11.2012 18:03 # 0
wvxvw 30.11.2012 18:16 # 0
C-M-k дальше, переходим к следующему выражению, которе нужно подобрать, C-M-w C-M-k и оно объединяется в буффере с предудущим скопированным.
Fai 29.11.2012 07:56 # +1
Так это же хорошо. Кому-то больше нравится видеть код с большими отступами, кому-то - с маленькими и в таком случае у всех будет отображаться таб любимого размера.
> Мне вот приходилось переключать редактор на табы, чтобы коммитить в код Fai.
Уже исправил.
bormand 29.11.2012 08:36 # 0
А мне вот нравится видеть код так, как его видит автор. Особенно если приходится его править. Ведь нарушение стиля изначального автора - не есть гуд.
Fai 29.11.2012 09:05 # +1
eth0 29.11.2012 08:33 # +2
Осталось подождать, когда все редакторы смогут его поддерживать.
bormand 29.11.2012 08:36 # 0
Джва пробела?
3.14159265 29.11.2012 16:37 # +2
Прим: запятые - мои.
3.14159265 29.11.2012 16:40 # +3
Но знаки препинания (запятые, точки с запятой) по-прежнему не по-тарасовски.
TarasB 30.11.2012 11:34 # 0
3.14159265 30.11.2012 14:17 # +1
Форматироваться должно всё, чтобы сразу видеть проебанную запятую, например.
TarasB 30.11.2012 14:34 # 0
roman-kashitsyn 30.11.2012 12:40 # 0
bormand 30.11.2012 12:43 # +1
roman-kashitsyn 30.11.2012 12:45 # 0
wvxvw 30.11.2012 15:26 # 0
Fai 29.11.2012 00:16 # +2
bormand 29.11.2012 08:37 # 0
Fai 29.11.2012 09:10 # +2
Попытался забить символ '\t' на shift+tab, а он гад все-равно пробелами вставляет.
anonimb84a2f6fd141 28.11.2012 23:36 # −10
anonimb84a2f6fd141 28.11.2012 23:38 # −11
guest 30.11.2012 22:35 # −7