-
+74
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
public void aMethod() {
try {
int t = 0;
t = t / t;
} catch (Exception e) {
System.out.println("aMethod");
for (StackTraceElement element : e.getStackTrace()) {
System.out.println("aMethod" + element.getClassName() + " " + element.getMethodName() + " " + element.getLineNumber() );
}
}
...//дополнительная "логика"
}
оригинальный способ узнать кто же вызвал aMethod
Cat4eg,
24 Октября 2012
-
+136
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
double thresholdDepth = 0;
if (!txtThresholdDepth.Text.Equals(String.Empty) && !txtThresholdDepth.Text.StartsWith(CultureInfo.CurrentCulture.NumberFormat.NegativeSign))
{
thresholdDepth = Double.Parse(txtThresholdDepth.Text);
}
else
{
Log.Print("Input threshold value");
return;
}
redrick,
24 Октября 2012
-
+30
- 1
if( str[0] == '<' || str[1] == '?' || str[2] == 'x' || str[3] == 'm' || str[4] == 'l') {...}
Проверка на xml-ность
bazhenovc,
24 Октября 2012
-
+154
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
var num_normalize = function (num) {
if (typeof num == 'string') {
if (num.test('.')) {
return parseFloat(num).toFixed(2);
}
else {
return parseInt(num);
}
}
else if (parseInt(num) == parseFloat(num)) {
return parseInt(num);
}
else return parseFloat(num).toFixed(2);
};
Когда-то писал функцию для приведение чисел к одному виду, которые иногда приходили в виде стринги.
За говнокод сойдет?
Stud,
24 Октября 2012
-
−126
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
1CClientBankExchange
ВерсияФормата=1.01
Кодировка=Windows
Получатель=
ДатаНачала=25.09.2012
ДатаКонца=25.09.2012
...
СекцияРасчСчет
...
КонецРасчСчет
СекцияДокумент=Платежное поручение
...
КонецДокумента
КонецФайла
Формат файла: Стандарт обмена с системами "Клиент банка"
http://v8.1c.ru/edi/edi_stnd/100/101.htm
Пидорва изобрела ini-файлы. Но убило не это, а это:
>Кодировка=Windows
Centry,
24 Октября 2012
-
+161
- 1
eval( array.join('+') );
Конечно, я понимаю что всякие Haskel там, то, сё...
bot,
24 Октября 2012
-
+175
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
with Ada.Integer_Text_Io, Ada.Text_Io;
use Ada.Integer_Text_Io, Ada.Text_Io;
procedure Test is
v : Long_Float := 26.0;
v1 : float := 26.0;
begin
while (v<27.0) loop
Put_Line("Value = " & Long_Float'image(v));
v:=v+0.2;
end loop;
while (v1<27.0) loop
Put_Line("Value = " & float'image(v1));
v1:=v1+0.2;
end loop;
end;
ideone.com/pXIhvY
Безопасный военный язык, да.
3.14159265,
23 Октября 2012
-
+132
- 1
- 2
- 3
- 4
- 5
- 6
- 7
main = do
print [1 .. 9]
print [1, 3 .. 9]
print [1, 3 .. 10]
print [26.0, 26.2 .. 27.0]
print [25.5..30.0]
print [25, 25 .. 25]
В хаскеле сломан генератор списков. :(
http://ideone.com/AvBSuz
HaskellGovno,
22 Октября 2012
-
+91
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
public static
String readFile(String file) {
return Read.file( Reflection.getCallerClass(2), file,"\n");
}
public static
String readFile(Class c, String file, final String lineBreaker) {
return Read.stream(c.getResourceAsStream(file),lineBreaker);
}
Я уже как-то раз наступил на эту хрень.
Но ничё - сегодня снова вот решил написать - удобно ведь.
3.14159265,
22 Октября 2012
-
−82
- 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
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
{-# LANGUAGE ExistentialQuantification,
DeriveDataTypeable,
PatternSignatures #-}
import Data.Typeable
import Control.Concurrent
import Control.Concurrent.MVar
import Control.Concurrent.Chan
-- Core data types
data Message = forall t . Typeable t => Message t | StopMessage
deriving Typeable
data Handler = forall t . Typeable t => Handler (t -> IO ())
-- Worker thread
data Worker = Worker (Chan Message) (MVar ())
workerThread :: [Handler] -> Chan Message -> MVar () -> IO ()
workerThread handlers chan finish = loop where
loop = do
message <- readChan chan
case message of
StopMessage -> putMVar finish ()
Message val -> do
foldr (tryHandler val) (putStrLn "Unhandled message") handlers
loop
tryHandler val (Handler h) rest = maybe rest h (cast val)
startWorker :: [Handler] -> IO Worker
startWorker handlers = do
chan <- newChan
finish <- newEmptyMVar
forkIO (workerThread handlers chan finish)
return $ Worker chan finish
send :: Typeable m => Worker -> m -> IO ()
send (Worker chan _) message = do
writeChan chan $ Message message
stopWorker :: Worker -> IO ()
stopWorker (Worker chan finish) = do
writeChan chan $ StopMessage
takeMVar finish
-- Some tests
data Test = Test Bool String deriving Typeable
intHandler :: Int -> IO ()
intHandler val = putStrLn $ "Int: " ++ show (val * 2)
strHandler :: String -> IO ()
strHandler val = putStrLn $ "String: " ++ reverse val
testHandler :: Test -> IO ()
testHandler (Test b s) = putStrLn $ "Test: " ++ show b ++ " " ++ show s
main = do
w <- startWorker [
Handler intHandler,
Handler (\(val::Char) -> putStrLn $ "Char: " ++ show val),
Handler strHandler,
Handler testHandler]
send w (5::Int)
send w False
send w 'a'
send w "foo"
send w (Test True "bar")
stopWorker w
putStrLn "Finished!"
Вот такая вот портянка была написана под влиянием дискуссии с HaskellGovno http://govnokod.ru/11968, и недавней его просьбой рассказать об общении потоков в хаскеле.
Код запускает тред, в который можно передавать различные сообщения (ограничение только одно - тип сообщения должен быть инстансом тайпкласса Typeable). В треде исполняются указанные хендлеры, каждый из которых ловит свой тип сообщений.
P.S. Для неимеющих хаскеля, но желающих посмотреть на работу кода: http://ideone.com/OMVamc.
bormand,
22 Октября 2012