- 1
- 2
- 3
- 4
- 5
public List<ImportException> importFiles() {
Collection<ImportException> exceptions = new ArrayList<ImportException>();
/* весь метод exceptions ссылается на этот список */
return (List<ImportException>) exceptions;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+69
public List<ImportException> importFiles() {
Collection<ImportException> exceptions = new ArrayList<ImportException>();
/* весь метод exceptions ссылается на этот список */
return (List<ImportException>) exceptions;
}
Полиморфизм ёпт
+142
Травля "kegdan`a" объявляется открытой.
+139
Я анально воспитываю "kegdan`a".
+122
Попробуйте новый минусатор http://rghost.ru/52192415
* Добавлена возможность анонимной работы (в программу зашит долгоиграющий анонимный прокси);
* Добавлена "защита от идиотов";
* Подключен скин
* Теперь текст комментария выбранного участника отображается в виде всплывающей подсказки;
* !(БОНУС) добавлена возможность МИНУСОВАНИЯ ВСЕХ ПОСТОВ ОППОНЕНТА! Сровняйте врага с землей!
-Теперь бот не проигрывает мелодию при запуске.
-Удален логотип сайта
Меня вдохновил на дальнейшую работу над ботом вот этот человек, точнее, его комментарий:
http://govnokod.ru/14476#comment215002
Новый бот-минусатор для ололо (может использоваться как парсер)
+153
// Когда-то давно:
// Функция генерирует CSV из массива
private function arrayToCSV($ar) {
$outstream = fopen("php://temp", 'r+');
fputcsv($outstream, $ar, ';', '"');
rewind($outstream);
$csv = fgets($outstream);
fclose($outstream);
return $csv . self::EOL;
}
// Несколько позже:
// Функция генерирует CSV из массива
private function arrayToCSV($ar) {
// а вот флаги вам в дыры, автор парсера со стороны 1С клал на RFC,
// поэтому будьте любезны отложить fputcsv и генерить ручками
$csv = '';
$isFirst = true;
str_replace(array(';', "\n", "\r\n"), array(':', '', ''), $ar);
foreach($ar as $field) {
if($isFirst)
$isFirst = false;
else
$csv .= ';';
$csv .= $field;
}
return $csv . self::EOL;
}
// Наши дни:
// Функция генерирует CSV из массива
private function arrayToCSV($ar) {
// упоротый, штоле? или с автором парсера в 1С переопылился?
return implode(';', str_replace(array(';', "\n", "\r\n"), array(':', '', ''), $ar)) . self::EOL;
}
наблюдаю в версионнике этапы становления говнокода
+153
Блядь, я никак не могу понять - зачем нужны дебильные фреймворки, MVC и прочее?
В чём охуенность освоения MVC, каких-то "интерфейсов" и "моделей", суть которых мне непонятна,
создания нескольких папок, файлов и конфигурации ради одной, довольно простой, функции, когда
её можно спрограммировать десятью-двадцатью строками чистого PHP-кода?
Также я не могу постичь смысл использования анальных шаблонизаторов ("Smarty", "Twig",
и прочая ебатня)...
+31
#include <string>
#include <iostream>
#include <functional>
using namespace std;
template<class L, class... Ls>
struct OL: L, OL<Ls...>{
OL(const L& l, const Ls&... ls): L(l), OL<Ls...>(ls...){}
using L::operator();
using OL<Ls...>::operator();
};
template<class L1, class L2>
struct OL<L1, L2>: L1, L2{
OL(const L1& l1, const L2& l2): L1(l1), L2(l2){}
using L1::operator();
using L2::operator();
};
template<class... Ls>
OL<Ls...> OverloadLambda(const Ls&... l){
return OL<Ls...>(l...);
}
template<class L>
L OverloadLambda(const L& l){
return l;
}
void OverloadLambda(void) = delete;
int main() {
int i=5;
auto lambda=OverloadLambda( [=](int v){cout<<__func__<<" "<<i<<" "<<v<<" int"<<endl;},
[=](string v){cout<<__func__<<" "<<i<<" "<<v<<" string"<<endl;},
[=](float v){cout<<__func__<<" "<<i<<" "<<v<<" float"<<endl;});
lambda(0);
lambda("Hello");
lambda(1.0f);
i=600;
auto lambda1=OverloadLambda( [=](int v){cout<<__func__<<" "<<i<<" "<<v<<" int"<<endl;});
lambda1(4);
///*auto lambda0 =*/ OverloadLambda();
return 0;
}
Специальная олимпиада объявляется открытой!
http://ideone.com/y14z5Y
Там много другого кода и какой-то из старых тем, а мне лень весь облазить.
+33
template<typename F, typename... Fns>
struct Overloaded
{
std::tuple<F,Fns...> fns;
// эта и следующая за ней функция нужны для рекурсивного
// накопления кортежа из всех входящих функций
template<typename First, typename... Others>
std::tuple<First,Others...> collect(First f, Others... others) {
auto t = std::make_tuple(f);
return std::tuple_cat(t, collect(others...));
}
template<typename Single>
std::tuple<Single> collect(Single f) {
return std::make_tuple(f);
}
Overloaded(F f, Fns... others) {
// сохраняем кортеж функций
fns = collect(f, others...);
}
};
template<typename F, typename... Fns>
Overloaded<F,Fns...> make_overloaded(F f, Fns... fns) {
return Overloaded<F,Fns...>(f,fns...);
}
//...
void F1(int) {}
void F2(int, float) {}
// ...
auto f = make_overloaded(F1, F2);
Не хочется связываться с бустом ввиду его убогости громоздкости. Поэтому пытаюсь сделать сам на чистом C++11 без макросов.
Не понятно теперь как перегрузить оператор ()?
Задействовать enable_if? Ни чего в голову не приходит.
Есть у кого идеи?
Оттуда
+24
int f(int = 7, int * = nullptr, int (*(*)(double))[3] = nullptr){
http://ideone.com/BcZ7Ja
+64
balance2N(nodeGet(0), nodeGet(0).getLine(0).getNodeConnectedWith(nodeGet(0)));
class Node {
private ArrayList<Line> children = new ArrayList<Line>();
public Line getLine (int index) {
return children.get(index);
}
}
class Line {
private Node[] parents = new Node[2];
public Node getNodeConnectedWith(Node nodeA) {
if (parents[0] == nodeA) {
return parents[1]; //return node another from this node (node on the other side)
} else { //if parents[1] == nodeA equals !(parents[0] == nodeA)
return parents[0];
}
}
}
Метод balance2N делает что-то с двумя нодами.