- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
Какой есть аналог класса для данных?
class Record():
pass
r = Record()
r. asd = 1
Заебало класс объявлять, неужели для такого элементарного случая ничего не придумали?
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−2
Какой есть аналог класса для данных?
class Record():
pass
r = Record()
r. asd = 1
Заебало класс объявлять, неужели для такого элементарного случая ничего не придумали?
+10
$output = preg_replace("/[0-9]{2}$/", ".$0", $input);
На входе строка с числом. На выходе должно быть это число, поделенное на 100. Далее, диалог:
[И]нтересующийся: А чем плохо просто поделить на сто?
[Г]овнокодер: У числа могут быть нули впереди .
[И]: Ну оно же приведется к флоату при делении
[Г]: php > var_dump(5435353534/100);
float(54353535.34)
[Г]: php > var_dump(00005435353534/100);
float(7459203.48)
[Г]: результат должен быть как у первого
+17
Code = string.Concat(Code1 + '/' + Code1);
Конкат 100%
+130
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <stat.h>
#include <conio.h>
#include <io.h>
#include <dos.h>
#include <time.h>
unsigned char kod_key;
int DIAG_F,P,R,o,u,i,i2,i3,j=0,j1,j2,i1,KPR,PNSKV,KOLS,KOLS_S,KOLS_P,KS=0,KOLT,KOLT_S,KOLT_P,MAXTM,MAXTM_S,MAXTM_P;
int F_k=0,F_PrR=0,F_N_Sv=0,K_dov,K_raz,PROZ,PROZ1,NS,NS_S,NS_P,NT_S,NT_P,NT;
long POZ,POZ1,KOLM;
float SDAT,x=0.0,v,v1,v2,DP=1.0,KK,KDAT=1.0,MS_P,MSO,MSO_P,MSO_S,MS, DS,DS_S,DS_P,MINMS,MINMS_S,MINMS_P,MAXMS,MAXMS_S,MAXMS_P,PM,PM_S,PM_P,MS_TEK;
unsigned int k=0,k1=0,k2=0;
float min,max,m[10],w2, w,w1;
clock_t t1,t2,t3,t4,t5,tc_MIN,tc_MSO;
time_t l1,l2;
struct date d;
struct time t,t_MIN,t_MSO;
int F1,F2;
union REGS rg;
//...........................
void sign()
{
i3++;
x=x+(0.00001*i3);
/*x=x+0.00244;*/
v=x;
v=(v+5)/0.00244;
v1=v/256;
v2=(int)v%256;
outportb(BASE_5710+12,v2);
outportb(BASE_5710+13,v1);
}
//...........................
K_dov=0;
kod_key=0;
d1:
while(!kod_key)
{
_AH=3;
_AL=1;
_DX=1;
geninterrupt(0x17);
kod_key=_AH;
opros();
if(MS_TEK>=2*PM)
break;
}
if(kod_key)
{
switch(kod_key)
{
case 5:
K_dov=1;
goto kon_d;
break;
default:
kod_key=0;
goto d1;
break;
}
}
if(R==1)
{
R=0;
NT++;
}
//...........................
if(kod_key)
{
switch(kod_key)
{
case 5:
K_dov=1;
goto kon_d;
break;
default:
kod_key=0;
break;
}
}
Код из реального коммерческого проекта. Все переменные объявлены глобально. Весь код в 2100 строк находится в одном файле. Комментариев нет. Внятных имён нет. Форматирования нет. Магические коэффициенты и флаги непонятных состояний повсюду. Бесконечное самоповторение. В наличии 7 функций, 2 из которых - это 85% всего кода проекта. Переходы по goto на 500 строчек в любом направлении.
+50
#include <iostream>
using namespace std;
void f(int i)
{
cout << "----" << endl;
void *array[] = { &&foo, &&bar, &&baz };
goto *array[i];
foo:
cout << "Foo" << endl;
bar:
cout << "Bar" << endl;
baz:
cout << "Baz" << endl;
}
int main() {
// your code goes here
f(0);
f(1);
f(2);
return 0;
}
http://ideone.com/63tRls
gcc extension
+159
foreach ($val as $k => $v)
{
if (!is_array($v))
{
$val[$k] = htmlspecialcharsbx($v);
}
else
{
foreach ($v as $kp => $vp)
{
foreach ($vp as $kkp => $vvp)
{
if (!is_array($vvp))
{
$val[$k][$kp][$kkp] = htmlspecialcharsbx($vvp);
}
else
{
foreach ($vvp as $kvvp => $vvvp)
{
$val[$k][$kp][$kkp][$kvvp] = htmlspecialcharsbx($vvvp);
}
}
}
}
}
}
+22
list<int> list;
...
for(auto i=0;i<list.size();i++){
auto item = *next(list.begin(), i);
Вчера у меня появился каллега.
http://liveworkspace.org/code/1AWg24$5
Кажется я знаю, кто следующий будет сидеть на табуретке. Думаете стоит сказать ему?
0
#include <stdio.h>
#include <stdlib.h>
#include <inttypes.h>
#include <stdbool.h>
struct two_val
{
const int32_t a[2];
};
struct two_val_and_status
{
const bool is_swap;
const struct two_val t_v;
};
struct array
{
const int32_t a[10];
};
struct array_and_status
{
const bool is_swap;
const size_t pos;
const struct array arr;
};
// Эта суперфункцональная функция сортировки двух элементов не просто сортирует два элемента
// но и еще сообщает о том, нужно ли было для этого обменивать два значения
struct two_val_and_status sort2(const struct two_val a)
{
return (a.a[0] > a.a[1]) ? (struct two_val_and_status){true, {{a.a[1], a.a[0]}}} : (struct two_val_and_status){false, a};
}
struct two_val read_two_val(const struct array arr, const size_t pos)
{
return (struct two_val){{arr.a[pos], arr.a[pos+1]}};
}
struct array store_val(const struct array arr, const int32_t val, size_t pos)
{
return (struct array) // Царский анролл
{{
pos != 0 ? arr.a[0] : val,
pos != 1 ? arr.a[1] : val,
pos != 2 ? arr.a[2] : val,
pos != 3 ? arr.a[3] : val,
pos != 4 ? arr.a[4] : val,
pos != 5 ? arr.a[5] : val,
pos != 6 ? arr.a[6] : val,
pos != 7 ? arr.a[7] : val,
pos != 8 ? arr.a[8] : val,
pos != 9 ? arr.a[9] : val
}};
}
struct array store_two_val(const struct array arr, const struct two_val val, const size_t pos)
{
return store_val(store_val(arr,val.a[0],pos),val.a[1],pos+1);
}
// суперохуительная рекурсивная функция сортировки пузырьком
struct array_and_status bubble_sort_rec(struct array_and_status state)
{
if (state.pos == 9)
{
if (state.is_swap == false) // Ура! Сортировка пузырьком завершена!
{
return state;
}
else
{ // а иначе нам надо по-новой сортировать!
return bubble_sort_rec((struct array_and_status){.is_swap = false, .pos=0, .arr = state.arr});
}
}
else
{
const struct two_val_and_status tmp = sort2(read_two_val(state.arr, state.pos));
return bubble_sort_rec(
(struct array_and_status)
{
.is_swap = tmp.is_swap || state.is_swap,
.pos=state.pos+1,
.arr = store_two_val(state.arr, tmp.t_v, state.pos)
}
);
}
}
int main(void)
{
const struct array_and_status a = {.is_swap = false, .pos = 0, .arr = {{8,2,4,1,3,5,7,0,6,9}} };
const struct array_and_status a_sort = bubble_sort_rec(a);
for(size_t i = 0; i < 10; i++) // ох уж это убогое императивное программирование!!!
{
printf("%" PRIu32 ", ", a_sort.arr.a[i]);
}
return EXIT_SUCCESS;
}
Функциональная сортировка пузырьком
https://wandbox.org/permlink/dGyvo82lgQGInD0Y
0
Disk /dev/sdc: 14,46 GiB, 15523119104 bytes, 30318592 sectors
Disk model: Storage Device
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000
Device Boot Start End Sectors Size Id Type
/dev/sdc1 1009664 7802879 6793216 3,2G b W95 FAT32
/dev/sdc2 * 73728 139263 65536 32M 6 FAT16
/dev/sdc3 1 1009664 1009664 493M 85 Linux extended
/dev/sdc5 139264 172031 32768 16M 83 Linux
/dev/sdc6 172032 204799 32768 16M 83 Linux
/dev/sdc7 204800 275455 70656 34,5M 83 Linux
/dev/sdc8 275456 776191 500736 244,5M 83 Linux
/dev/sdc9 776192 976895 200704 98M 83 Linux
/dev/sdc10 976896 1009663 32768 16M 83 Linux
Изначально хотел запихнуть в старый PocketBook515 флешку побольше. Она там хитрая, с линуксом, просто так поменять нельзя. Столкнулся с тем, что не могу parted подвинуть границы раздела, потому что overlapping partitions запрещены. Что делать? вот
fdisk -l
0
// Define type
define bottles_of_beer => type {
// Define internal data
data private bottles = 99
// Define private methods
private br => '<br/>'
private s => .bottles != 1 ? 's' | ''
// Generate lyrics when object represented as a string
public asstring => {
local(out = '')
// Use Lasso query syntax to generate the lyrics
with n in 99 to 1 by -1 do {
.bottles = #n
#out += .bottles + ' bottle' + .s + ' of beer on the wall, ' + .br
#out += .bottles + ' bottle' + .s + ' of beer; ' + .br
.bottles--
#out += 'Take one down, pass it around, ' + .br
#out += .bottles + ' bottle' + .s + ' of beer on the wall. ' + (.br * 2)
}
// Return result
return #out
}
}
bottles_of_beer
https://en.wikipedia.org/wiki/Lasso_(programming_language)