- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
public getWay(path: string) {
const arrPath = path.slice(1).split('/');
arrPath.map(item => {
this.crumbs.push(MathcPath[item]);
this.crumbs = this.crumbs.filter(crumb => crumb);
});
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+3
public getWay(path: string) {
const arrPath = path.slice(1).split('/');
arrPath.map(item => {
this.crumbs.push(MathcPath[item]);
this.crumbs = this.crumbs.filter(crumb => crumb);
});
}
Используем map в качестве forEach + зачем-то фильтруем полученный массив в каждой итерации.
Причем этот код можно записать в одну строку, которая еще и будет работать быстрее.
0
// @strict: true
// @lib: es2020
// @declaration: true
type BadFlatArray<Arr, Depth extends number> = {
obj: {
"done": Arr,
"recur": Arr extends ReadonlyArray<infer InnerArr>
? BadFlatArray<InnerArr, [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]>
: Arr
}[Depth extends -1 ? "done" : "recur"]
}["obj"];
declare function flat<A, D extends number = 1>(
arr: A,
depth?: D
): BadFlatArray<A, D>[]
function foo<T>(arr: T[], depth: number) {
return flat(arr, depth);
}
function main() {
foo<number>([1.0, 2.0], 2);
}
спорим вы нихрена не поняли что это такое?
−1
Питушня #21
#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: (vanished) 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
#15: https://govnokod.ru/27353 https://govnokod.xyz/_27353
#16: https://govnokod.ru/27384 https://govnokod.xyz/_27384
#17: https://govnokod.ru/27482 https://govnokod.xyz/_27482
#18: https://govnokod.ru/27514 https://govnokod.xyz/_27514
#19: https://govnokod.ru/27620 https://govnokod.xyz/_27620
#20: https://govnokod.ru/27816 https://govnokod.xyz/_27816
0
namespace Generics {
function swap<T>(arr: T[], i: number, j: number): void {
let temp: T = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
function sortHelper<T>(arr: T[], callbackfn?: (value1: T, value2: T) => number): T[] {
if (arr.length <= 0 || !callbackfn) {
return arr;
}
let len = arr.length;
// simple selection sort.
for (let i = 0; i < len - 1; ++i) {
for (let j = i + 1; j < len; ++j) {
if (callbackfn(arr[i], arr[j]) > 0) {
swap(arr, i, j);
}
}
}
return arr;
}
export function arraySort<T>(arr: T[], callbackfn?: (value1: T, value2: T) => number): T[] {
return sortHelper(arr, callbackfn);
}
}
function main() {
print("testGenerics")
let inArray = [4.0, 3.0, 4593.0, 23.0, 43.0, -1.0]
Generics.arraySort(inArray, (x: number, y: number) => { return x - y })
let expectedArray = [-1.0, 3.0, 4.0, 23.0, 43.0, 4593.0]
for (let i = 0; i < expectedArray.length; i++) {
assert(inArray[i] == expectedArray[i])
}
}
ну вот и все.. можно считать последний говнокод... подходит миссия к концу.... и ... потом заархивить все и положить на полочку
+1
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[4] = {1, 2, 3, 4};
int (*a_p1)[4] = (int (*)[4])a;
int (*a_p2)[4] = &a;
for(size_t i = 0; i < 4; ++i)
{
printf("%p -> %d; %p -> %d\n", &(*a_p1)[i], (*a_p1)[i], &(*a_p1)[i], (*a_p2)[i]);
}
return EXIT_SUCCESS;
}
Вот такой вывод:
0x7ffee4ebd950 -> 1; 0x7ffee4ebd950 -> 1
0x7ffee4ebd954 -> 2; 0x7ffee4ebd954 -> 2
0x7ffee4ebd958 -> 3; 0x7ffee4ebd958 -> 3
0x7ffee4ebd95c -> 4; 0x7ffee4ebd95c -> 4
+1
a = int(input('Введите число A: '))
b = int(input('Введите число B: '))
c = int(input('Введите число C: '))
d = int(input('Введите число D: '))
if a % 2 == 0 and b % 2 == 0 and c % 2 == 0 and d % 2 == 0:
print ('Все числа четные')
elif a % 2 != 0 and b % 2 == 0 and c % 2 == 0 and d % 2 == 0:
print ('Все числа четные, кроме числа А')
elif a % 2 == 0 and b % 2 != 0 and c % 2 == 0 and d % 2 == 0:
print ('Все числа четные, кроме числа B')
elif a % 2 == 0 and b % 2 == 0 and c % 2 != 0 and d % 2 == 0:
print ('Все числа четные, кроме числа C')
elif a % 2 == 0 and b % 2 == 0 and c % 2 == 0 and d % 2 != 0:
print ('Все числа четные, кроме числа D')
elif a % 2 != 0 and b % 2 != 0 and c % 2 == 0 and d % 2 == 0:
print ('Числа C и D четные, а А и B нет')
elif a % 2 != 0 and b % 2 == 0 and c % 2 != 0 and d % 2 == 0:
print ('Числа B и D четные, а А и C нет')
elif a % 2 != 0 and b % 2 == 0 and c % 2 == 0 and d % 2 != 0:
print ('Числа B и C четные, а А и D нет')
# with B
elif a % 2 == 0 and b % 2 != 0 and c % 2 != 0 and d % 2 == 0:
print ('Числа A и D четные, а B и C нет')
elif a % 2 != 0 and b % 2 == 0 and c % 2 != 0 and d % 2 == 0:
print ('Числа B и D четные, а А и C нет')
elif a % 2 != 0 and b % 2 == 0 and c % 2 == 0 and d % 2 != 0:
print ('Числа B и C четные, а А и D нет')
elif a % 2 == 0 and b % 2 == 0 and c % 2 != 0 and d % 2 != 0:
print ('Числа A и B четные, а C и D нет')
elif a % 2 == 0 and b % 2 != 0 and c % 2 != 0 and d % 2 != 0:
print ('Все числа нечетные, кроме числа А')
elif a % 2 != 0 and b % 2 == 0 and c % 2 != 0 and d % 2 != 0:
print ('Все числа нечетные, кроме числа B')
elif a % 2 != 0 and b % 2 != 0 and c % 2 == 0 and d % 2 != 0:
print ('Все числа нечетные, кроме числа C')
elif a % 2 != 0 and b % 2 != 0 and c % 2 != 0 and d % 2 == 0:
print ('Все числа нечетные, кроме числа D')
else:
print ('Введите только целые числа')
−1
function foo(x = class { static prop: string }): string {
return undefined;
}
function main() {
foo(class { static prop = "hello" }).length;
print("done.");
}
ну что С/C++ скушали? а ты так можешь говнокодить?
0
Просто оффтоп #21
#1: https://govnokod.ru/20162 https://govnokod.xyz/_20162
#2: https://govnokod.ru/25329 https://govnokod.xyz/_25329
#3: https://govnokod.ru/25415 https://govnokod.xyz/_25415
#4: (vanished) https://govnokod.xyz/_25472
#5: https://govnokod.ru/25693 https://govnokod.xyz/_25693
#6: (vanished) https://govnokod.xyz/_26649
#7: https://govnokod.ru/26672 https://govnokod.xyz/_26672
#8: https://govnokod.ru/26924 https://govnokod.xyz/_26924
#9: https://govnokod.ru/27072 https://govnokod.xyz/_27072
#10: https://govnokod.ru/27086 https://govnokod.xyz/_27086
#11: https://govnokod.ru/27122 https://govnokod.xyz/_27122
#12: https://govnokod.ru/27153 https://govnokod.xyz/_27153
#13: https://govnokod.ru/27159 https://govnokod.xyz/_27159
#14: https://govnokod.ru/27200 https://govnokod.xyz/_27200
#15: https://govnokod.ru/27237 https://govnokod.xyz/_27237
#16: https://govnokod.ru/27282 https://govnokod.xyz/_27282
#17: https://govnokod.ru/27319 https://govnokod.xyz/_27319
#18: https://govnokod.ru/27380 https://govnokod.xyz/_27380
#19: https://govnokod.ru/27500 https://govnokod.xyz/_27500
#20: https://govnokod.ru/27607 https://govnokod.xyz/_27607
−1
class Node<T> {
v: T;
k: string;
next: Node<T>;
}
class Map<T> {
head: Node<T>;
getElt(k: string): T {
return mapGet(this, k)
}
setElt(k: string, v: T) {
mapSet(this, k, v)
}
}
function mapSet<T>(m: Map<T>, k: string, v: T) {
for (let p = m.head; p != null; p = p.next) {
if (p.k == k) {
p.v = v
return
}
}
let n = new Node<T>()
n.next = m.head
n.k = k
n.v = v
m.head = n
}
function mapGet<T>(m: Map<T>, k: string): T {
for (let p = m.head; p != null; p = p.next) {
if (p.k == k) {
return p.v
}
}
return null
}
function search_array<T>(a: T[], item: T): number {
for (let i = 0; i < a.length; i++) {
if (a[i] == item) {
return i
}
}
return -1 // NOT FOUND
}
class MyMap<K, V> {
keys: K[]
values: V[]
constructor() {
this.keys = []
this.values = []
}
push(key: K, value: V) {
this.keys.push(key)
this.values.push(value)
}
value_for(key: K): V {
let i = search_array(this.keys, key)
if (i == -1) {
return null
}
return this.values[i]
}
key_for(value: V): K {
let i = search_array(this.values, value)
if (i == -1) {
return null
}
return this.keys[i]
}
set(key: K, value: V): void {
let i = search_array(this.keys, key)
if (i == -1) {
this.keys.push(key)
this.values.push(value)
} else {
this.values[i] = value
}
}
has_key(key: K): boolean {
return search_array(this.keys, key) != -1
}
has_value(value: V): boolean {
return search_array(this.values, value) != -1
}
}
Срочно нужна помощь... не могу решить что делать с функцией mapGet .. когда T - number я не могу использовать "null" .. должен я хакнуть компилятор или изменить тестовый пример?
0
procedure TOstatkiForm.FormCreate(Sender: TObject);
begin
OstatkiTovarList:=TStringList.Create;
btnShowToConvert.Enabled := False;
grpToConvert.Visible := False;
zqrToConvert.SQL.Text := 'select null::integer ostid,' + #13#10 +
'null::integer tovarid,' + #13#10 +
'null::bigint kt,' + #13#10 +
'null::varchar nt,' + #13#10 +
'null::numeric cen,' + #13#10 +
'null::integer edizmerid,' + #13#10 +
'null::varchar name_u,' + #13#10 +
'null::date income_period,' + #13#10 +
'null::varchar ss,' + #13#10 +
'null::numeric ost_doc,' + #13#10 +
'null::numeric gsum' + #13#10 +
'where 1=2';
end;
Без комментариев