- 1
Питушня #15
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
Питушня #15
#1: https://govnokod.ru/26692 https://govnokod.xyz/_26692
#2: https://govnokod.ru/26891 https://govnokod.xyz/_26891
#3: https://govnokod.ru/26893 https://govnokod.xyz/_26893
#4: https://govnokod.ru/26935 https://govnokod.xyz/_26935
#5: (vanished) https://govnokod.xyz/_26954
#6: (vanished) https://govnokod.xyz/_26956
#7: https://govnokod.ru/26964 https://govnokod.xyz/_26964
#8: https://govnokod.ru/26966 https://govnokod.xyz/_26966
#9: https://govnokod.ru/27017 https://govnokod.xyz/_27017
#10: https://govnokod.ru/27045 https://govnokod.xyz/_27045
#11: https://govnokod.ru/27058 https://govnokod.xyz/_27058
#12: https://govnokod.ru/27182 https://govnokod.xyz/_27182
#13: https://govnokod.ru/27260 https://govnokod.xyz/_27260
#14: https://govnokod.ru/27343 https://govnokod.xyz/_27343
+1
11 апреля - всемирный день анимешника
Всех поздравляем!!!
+1
// https://govnokod.ru/27340#comment621647
#include <iostream>
#include <cstdlib>
#define SPLICE(a,b) SPLICE_1(a,b)
#define SPLICE_1(a,b) SPLICE_2(a,b)
#define SPLICE_2(a,b) a##b
#define PP_ARG_N( \
_1, _2, _3, _4, _5, _6, _7, _8, _9, _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, N, ...) N
/* Note 63 is removed */
#define PP_RSEQ_N() \
62, 61, 60, \
59, 58, 57, 56, 55, 54, 53, 52, 51, 50, \
49, 48, 47, 46, 45, 44, 43, 42, 41, 40, \
39, 38, 37, 36, 35, 34, 33, 32, 31, 30, \
29, 28, 27, 26, 25, 24, 23, 22, 21, 20, \
19, 18, 17, 16, 15, 14, 13, 12, 11, 10, \
9, 8, 7, 6, 5, 4, 3, 2, 1, 0
#define PP_NARG_(...) PP_ARG_N(__VA_ARGS__)
/* Note dummy first argument _ and ##__VA_ARGS__ instead of __VA_ARGS__ */
// note: using __VA_OPT__ shit instead ##__VA_ARGS__
#define PP_NARG(...) PP_NARG_(_ __VA_OPT__(,) __VA_ARGS__, PP_RSEQ_N())
#define MK_VAR_T(type, name) \
typeof(type) name
#define TYPE_ADD_0()
#define TYPE_ADD_1(VAR) \
MK_VAR_T VAR;
#define TYPE_ADD_2(VAR, ...) \
MK_VAR_T VAR; TYPE_ADD_1(__VA_ARGS__)
#define TYPE_ADD_3(VAR, ...) \
MK_VAR_T VAR; TYPE_ADD_2(__VA_ARGS__)
#define TYPE_ADD_4(VAR, ...) \
MK_VAR_T VAR; TYPE_ADD_3(__VA_ARGS__)
#define TYPE_ADD_5(VAR, ...) \
MK_VAR_T VAR; TYPE_ADD_4(__VA_ARGS__)
#define TYPE_ADD_6(VAR, ...) \
MK_VAR_T VAR; TYPE_ADD_5(__VA_ARGS__)
#define TYPE_ADD_7(VAR, ...) \
MK_VAR_T VAR; TYPE_ADD_6(__VA_ARGS__)
#define TYPE_ADD_8(VAR, ...) \
MK_VAR_T VAR; TYPE_ADD_7(__VA_ARGS__)
#define TYPE_ADD_9(VAR, ...) \
MK_VAR_T VAR; TYPE_ADD_8(__VA_ARGS__)
#define TYPE_ADD_10(VAR, ...) \
MK_VAR_T VAR; TYPE_ADD_9(__VA_ARGS__)
#define TYPE_ADD_11(VAR, ...) \
MK_VAR_T VAR; TYPE_ADD_10(__VA_ARGS__)
#define TYPE_ADD_(N, ...) \
SPLICE(TYPE_ADD_, N)(__VA_ARGS__)
#define TYPE_ADD(...) \
TYPE_ADD_(PP_NARG(__VA_ARGS__), __VA_ARGS__)
#define REM_BRACKET(...) __VA_ARGS__
#define LAMBDA(name, vars, code) \
struct name {TYPE_ADD vars void operator()() const REM_BRACKET code}
int main()
{
LAMBDA
(
some_type_name,
((int, a), (float, b), (double, c)),
({
std::cout << "Hello, world! " << a << " " << b << " " << c << std::endl;
})
);
auto lambda = some_type_name(1, 3.14f, 0.25);
lambda();
}
Вот вам говнолямбда на препроцессоре.
+1
using System;
namespace MainNamespace
{
class MainClass
{
static string str, sep;
static void Sep()
{
int k = 0;
while (k < str.Length * 2 - 5)
{
if (sep.Length * (k + 1) > str.Length * 2 - 5)
break;
Console.Write(sep);
k++;
}
for (int l = 0; l < ((str.Length * 2 - 5) - (k * sep.Length)) ; l++)
Console.Write(sep[l]);
}
static void Main(string[] args)
{
Console.Write("str: ");
str = Console.ReadLine();
Console.Write("sep: ");
sep = Console.ReadLine();
for (int i = 0; i < str.Length-1; i++)
Console.Write(str[i] + " ");
Console.Write(str[str.Length-1] + "\n\n");
for (int j = 0; j < str.Length - 2; j++)
{
Console.Write(str[j + 1] + " ");
Sep();
Console.WriteLine(" " + str[str.Length - j - 2]);
Console.Write(" ");
if(j < str.Length - 3)
{
Sep();
Console.WriteLine(" ");
continue;
}
Console.WriteLine();
}
for (int m = str.Length-1; m >= 1; m--)
Console.Write(str[m] + " ");
Console.WriteLine(str[0]);
Console.ReadKey();
}
}
}
Переписал код http://govnokod.ru/27324 на Шарп с небольшими улучшениями.
+1
#include <stdio.h>
#include <stdlib.h>
#define SPLICE(a,b) SPLICE_1(a,b)
#define SPLICE_1(a,b) SPLICE_2(a,b)
#define SPLICE_2(a,b) a##b
#define PP_ARG_N( \
_1, _2, _3, _4, _5, _6, _7, _8, _9, _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, N, ...) N
/* Note 63 is removed */
#define PP_RSEQ_N() \
62, 61, 60, \
59, 58, 57, 56, 55, 54, 53, 52, 51, 50, \
49, 48, 47, 46, 45, 44, 43, 42, 41, 40, \
39, 38, 37, 36, 35, 34, 33, 32, 31, 30, \
29, 28, 27, 26, 25, 24, 23, 22, 21, 20, \
19, 18, 17, 16, 15, 14, 13, 12, 11, 10, \
9, 8, 7, 6, 5, 4, 3, 2, 1, 0
#define PP_NARG_(...) PP_ARG_N(__VA_ARGS__)
/* Note dummy first argument _ and ##__VA_ARGS__ instead of __VA_ARGS__ */
#define PP_NARG(...) PP_NARG_(_, ##__VA_ARGS__, PP_RSEQ_N())
#define FIND_NONNULL_1(RES) \
((RES = (char *)(NULL)))
#define FIND_NONNULL_2(RES, VAR) \
((RES = (char *)(VAR)))
#define FIND_NONNULL_3(RES, VAR, ...) \
(((RES = (char *)(VAR)) != NULL)?RES:FIND_NONNULL_2(RES,__VA_ARGS__))
#define FIND_NONNULL_4(RES, VAR, ...) \
(((RES = (char *)(VAR)) != NULL)?RES:FIND_NONNULL_3(RES,__VA_ARGS__))
#define FIND_NONNULL_5(RES, VAR, ...) \
(((RES = (char *)(VAR)) != NULL)?RES:FIND_NONNULL_4(RES,__VA_ARGS__))
#define FIND_NONNULL_6(RES, VAR, ...) \
(((RES = (char *)(VAR)) != NULL)?RES:FIND_NONNULL_5(RES,__VA_ARGS__))
#define FIND_NONNULL_7(RES, VAR, ...) \
(((RES = (char *)(VAR)) != NULL)?RES:FIND_NONNULL_6(RES,__VA_ARGS__))
#define FIND_NONNULL_8(RES, VAR, ...) \
(((RES = (char *)(VAR)) != NULL)?RES:FIND_NONNULL_7(RES,__VA_ARGS__))
#define FIND_NONNULL_9(RES, VAR, ...) \
(((RES = (char *)(VAR)) != NULL)?RES:FIND_NONNULL_8(RES,__VA_ARGS__))
#define FIND_NONNULL_10(RES, VAR, ...) \
(((RES = (char *)(VAR)) != NULL)?RES:FIND_NONNULL_9(RES,__VA_ARGS__))
#define FIND_NONNULL_11(RES, VAR, ...) \
(((RES = (char *)(VAR)) != NULL)?RES:FIND_NONNULL_10(RES,__VA_ARGS__))
#define FIND_NONNULL_12(RES, VAR, ...) \
(((RES = (char *)(VAR)) != NULL)?RES:FIND_NONNULL_11(RES,__VA_ARGS__))
// etc ...
#define FIND_NONNULLS_(N, ...) \
SPLICE(FIND_NONNULL_, N)(__VA_ARGS__)
#define FIND_NONNULLS(...) \
({ \
char *FIND_NONNULLS; \
FIND_NONNULLS_(PP_NARG(FIND_NONNULLS, __VA_ARGS__), FIND_NONNULLS, __VA_ARGS__); \
FIND_NONNULLS; \
})
char *side_effect_null(void)
{
printf("!!null!!\n");
return NULL;
}
char *side_effect_test(void)
{
printf("!!test!!\n");
return "test";
}
int main(void)
{
printf( "result:%s\n", FIND_NONNULLS(0,side_effect_null(),0,side_effect_test(),0,0,side_effect_test(),"govno", side_effect_test()) );
return EXIT_SUCCESS;
}
Это типа как short-circuit evaluation чтоб по цепочке хрень возвращающую строку вызывать, и там те функции хуйпойми сколько аргументов могут принимать (но там может быть константа, тогда естественно нихрена не надо вызывать) пока оно не вернет не-NULL. Как только вернуло не-NULL то вернуть это и дальше ничего не вызывать, а то там сайд эффекты всякие ненужные будут. А если не-NULL так и не нашло, вернуть NULL
+1
void printParser(const wchar_t *fileName, const wchar_t *str, boolean showLineCharPos)
{
ts::Parser parser;
auto sourceFile = parser.parseSourceFile(fileName, str, ScriptTarget::Latest);
ts::FuncT<> visitNode;
ts::ArrayFuncT<> visitArray;
auto intent = 0;
visitNode = [&](ts::Node child) -> ts::Node {
for (auto i = 0; i < intent; i++)
{
std::cout << "\t";
}
std::cout << "Node: " << wtoc(parser.syntaxKindString(child).c_str()) << " @ [ " << child->pos << " - " << child->_end << " ]" << std::endl;
intent++;
ts::forEachChild(child, visitNode, visitArray);
intent--;
return undefined;
};
visitArray = [&](ts::NodeArray<ts::Node> array) -> ts::Node {
for (auto node : array)
{
visitNode(node);
}
return undefined;
};
auto result = ts::forEachChild(sourceFile.as<ts::Node>(), visitNode, visitArray);
}
спортировал TypeScript парсер в C++ и ахренел от обьема работы :)
+1
def ForQueryInAddr(query, addr):
global listed, primalsource
print("Searcing in: "+addr)
html = requests.get(addr,proxies=proxies).text
if (query.lower() in html.lower()):
print("==============================================")
print("Query found in: "+addr)
print("==============================================")
if ("<html>" in html or "<head>" in html):
data = PyQuery(html)
links = data('a')
for link in links:
ahref = link.attrib['href']
#print("Found: "+ahref)
if (ahref not in listed):
if (ahref[0].lower() == "h"):
if (primalsource in ahref):
if (ahref[-3:].lower() not in filetypes and ahref[-4:].lower() not in filetypes and ahref[-5:].lower() not in filetypes):
listed.append(ahref)
ForQueryInAddr(query, ahref)
https://github.com/Dev1lroot/OnionSearch/blob/master/main.py
+1
С днём математика вас, питухи!
+1
// если пользователь авторизован
if($user->get('id')) {
$_SESSION['city-select'] = '';
// если пользователь авторизован - определяем город
$profile = $user->getOne('Profile');
if ($profile) {
$city = $profile->get('city');
}
// проходим все города и ищем подходящий
$cities = $modx->runSnippet('pdoResources', array(
'parents' => 205,
'limit' => 0,
'includeTVs' => 'setCityForHome',
'where' => '{ "template" : "25" }',
'tpl' => '@CODE:{"id":"[[+id]]","city":"[[+tv.setCityForHome]]"}',
'outputSeparator' => ','
));
$redirectTo = 0;
if($cities) {
$cities = $modx->fromJson('['.$cities.']');
foreach( $cities as $c ) {
if($c['city'] == $city) {
$redirectTo = $c['id'];
break;
}
}
}
} else {
// если не авторизован - проверяем сессию
$session = $_SESSION['city-select'];
// если сессия пустая - проверяем, на какой странице находимся
// если страница города и пустая сессия - записываем в сессию
if($modx->resource->get('template') == 25) {
$_SESSION['city-select'] = $modx->resource->get('pagetitle');
$city = $modx->resource->get('pagetitle');
} else {
$city = (!empty($_SESSION['city-select']))? $_SESSION['city-select'] : $city;
}
}
Сумрачный гений, сука. Строки 11-28 особенно примечательны.
+1
program square;
var sep, input: string;
i, j, n, m : integer;
begin
write('sep:');
readln(sep);
write('str:');
readln(input);
for i:=1 to length(input) do write(input[i], ' ');
writeln();
for i:=2 to length(input)-1 do begin
write(input[i]);
for j:=1 to length(input)*2-3 do write (sep);
writeln(input[length(input) - i + 1]);
end;
for i:=0 to length(input)-1 do
write(input[length(input)-i], ' ');
end.
Написала на скучной лекции программку на телефоне, чтобы распечатывать
Х У Й
У У
Й У Х