- 1
foldr ((.) . (:)) id
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
Всего: 56
+119
foldr ((.) . (:)) id
+115
count c l = length $ filter (c==) l
main = do
l <- getLine
let
f = count '(' l
s = count ')' l
in
print $ f s (f==s)
Посоны, как смешивать монадический код и не монадический?
http://ideone.com/yRGDk
Чистый код let in не хочет в монду.
−26
Apply_Deferred_Lighting_Template< LIGHT_STAGE, ELightType::Light_Point >(
context, queue,
lightsArray + lightOffsets[ LIGHT_STAGE, ELightType::Light_Point ],
lightCounts[LIGHT_STAGE][ELightType::Light_Point]
);
Apply_Deferred_Lighting_Template< LIGHT_STAGE, ELightType::Light_Point >(
context, queue,
lightsArray + lightOffsets[ LIGHT_STAGE, ELightType::Light_Spot ],
lightCounts[LIGHT_STAGE][ELightType::Light_Spot]
);
Apply_Deferred_Lighting_Template< LIGHT_STAGE, ELightType::Light_Beam >(
context, queue,
lightsArray + lightOffsets[ LIGHT_STAGE, ELightType::Light_Beam],
lightCounts[LIGHT_STAGE][ELightType::Light_Beam]
);
Здесь больше:
http://www.gamedev.ru/code/forum/?id=162116
+123
import Data.Array.IO
main = do arr <- newArray (1,10) 37 :: IO (IOArray Int Int)
a <- readArray arr 1
writeArray arr 1 64
b <- readArray arr 1
print (a, b)
Вот такое вот говно приходится терпеть, если хочешь работать в хаскеле с массивами. Дальше будет только нос закрывай. To be continued...
+121
minChunksSize=1000.0 -- 100.0
facbig :: Integer -> Integer
facbig n =
let
divisionProportion = 0.9 -- 2.0/3.0
amountOfChunk = truncate $ logBase divisionProportion $ minChunksSize/fromIntegral n
proportions = map (divisionProportion^) [amountOfChunk, amountOfChunk-1 .. 1]
centralChunkResults = map product [
let
begin = proportionToItemNumber 1 beginRangeProportion
end = proportionToItemNumber 0 endRangeProportion
in
[begin..end] | (endRangeProportion, beginRangeProportion) <- zip proportions $ tail proportions ]
beginChunkResult = product [1 .. proportionToItemNumber 0 $ last proportions]
endChunkResult = product [proportionToItemNumber 1 $ head proportions .. n]
in product $ beginChunkResult:endChunkResult:centralChunkResults
where
proportionToItemNumber shift proportion =
shift + truncate ((1.0-proportion)*fromIntegral n)
fac n = if n <= (truncate $ 3.0*minChunksSize)
then product [1..n]
else facbig n
main = print $ length $ show $ fac 100000
Вот так вот школота считают число цифр в факториале числа.
−24
map<HANDLE,VRwnd*> windows;
LRESULT WndProc(HANDLE h,UINT ui,WPARAM w,LPARAM m)try{
return windows.at(h)->Process(ui,w,l);
}catch(...){ return 0;}
class VRwnd{
HANDLE h;
protected:
map<UINT,function<LPRESULT(WPARAM,LPARAM)> handlers;// заполняется в конструкторе
map<int,VRwnd*> idChilds;
map<HANDLE,VRwnd*> Childs;
public:
virtual ~VRwnd();
LRESULT Process(UINT ui,WPARAM w,LPARAM m)try{
PreProcess(w,l);// сами решайте, давать фильтру на что-то влиять, или нет.
if(ui==WM_NOTIFY) return WmNotify(w,m) ;
if(ui==WM_NOTIFY) return WmCommand(w,m) ;
return handlers.at(ui).second(w,l);
}
catch(...){return 0;}
LPRESULT WmNotify(WPARAM w,LPARAM m){...}
LPRESULT WmCommand(WPARAM w,LPARAM m){...}
virtual LPRESULT PreProcess(WPARAM w,LPARAM m){return 0;}
};