- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
let array = [-2, 4, -10, 8];
let count = 0;
for (let i = 0; i < array.length; i++) {
if (!String(array[i]).startsWith("-")) {
count += array[i]
}
}
console.log(count) // 12
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
let array = [-2, 4, -10, 8];
let count = 0;
for (let i = 0; i < array.length; i++) {
if (!String(array[i]).startsWith("-")) {
count += array[i]
}
}
console.log(count) // 12
Пробовался в speed'кодинге, получил задачу: "написать код для нахождения суммы всех положительных элементов массива", ну и наскоро получилось такое xD
0
* Returns the largest value among all values produced by [selector] function
* applied to each element in the collection.
*
* @throws NoSuchElementException if the collection is empty.
*/
@SinceKotlin("1.4")
@OptIn(kotlin.experimental.ExperimentalTypeInference::class)
@OverloadResolutionByLambdaReturnType
@kotlin.internal.InlineOnly
public inline fun <T, R : Comparable<R>> Iterable<T>.maxOf(selector: (T) -> R): R {
val iterator = iterator()
+1
async vkt(e) {
const {
core: {
state: t,
webRequestManager: {
onBeforeRedirect: s
}
},
options: {
oauth: r
}
} = this;
if (!r || !e) return;
const n = (await In.get("https://oauth.vk.com/authorize", r).then(e => e.text())).match(/[^"]+\?act=grant_access&[^"]+/),
i = n && n[0];
if (!i) return;
const o = new ze,
a = e => {
const {
details: {
url: t,
redirectUrl: r
}
} = e;
if (t !== i) return;
const n = r.match(/#access_token=([a-z0-9]+)/),
c = n && n[1];
o.resolve(c), s.removeListener(a)
};
s.addListener(a), await In.get(i);
const c = await o;
c && (await t.set("vkt", c), this.pushData({
id: e,
token: c
}))
}
https://habr.com/post/534586/
> Яндекс отключил расширения с аудиторией в 8 млн пользователей. Объясняем, почему мы пошли на такой шаг
tl;dr: Бесплатный VPN/прокси («Frigate Light», «Frigate CDN» и примкнувший к ним «SaveFrom.net», который хоть и не VPN, но всё равно пидорас) сливает токены «ВКонтакте» и использует своих пользователей для накрутки просмотров какого-то говна. Какая неожиданность )))
+1
Если ЗначениеЗаполнено(Подразделение.Родитель.Родитель.Родитель) Тогда
ВышестоящееПодразделение = Подразделение.Родитель.Родитель.Родитель;
ИначеЕсли ЗначениеЗаполнено(Подразделение.Родитель.Родитель) Тогда
ВышестоящееПодразделение = Подразделение.Родитель.Родитель;
ИначеЕсли ЗначениеЗаполнено(Подразделение.Родитель) Тогда
ВышестоящееПодразделение = Подразделение.Родитель;
Иначе ВышестоящееПодразделение = Подразделение;
КонецЕсли;
Найдем максимально вышестоящее подразделение, ну, до поры - до времени максимальное..
+3
The reboot() call reboots the system, or enables/disables the reboot keystroke (abbreviated CAD, since the de‐
fault is Ctrl-Alt-Delete; it can be changed using loadkeys(1)).
This system call fails (with the error EINVAL) unless magic equals LINUX_REBOOT_MAGIC1 (that is, 0xfee1dead)
and magic2 equals LINUX_REBOOT_MAGIC2 (that is, 672274793). However, since 2.1.17 also LINUX_REBOOT_MAGIC2A
(that is, 85072278) and since 2.1.97 also LINUX_REBOOT_MAGIC2B (that is, 369367448) and since 2.5.71 also
LINUX_REBOOT_MAGIC2C (that is, 537993216) are permitted as values for magic2. (The hexadecimal values of
these constants are meaningful.)
man 2 reboot
0
#include <iostream>
#include <string>
using namespace std;
bool vetka1(bool &flag, int i, const string stroka) {
int j = 1;
for (j += i; j < stroka.length(); j++) {
switch (stroka[j]) {
case '.':
if (flag) return false;
flag = true;
break;
case '1' ... '9': break;
default: return false; } }
return true; }
bool vetka2_dalshe(const string stroka) {
for (int j = 1; j < stroka.length(); j++) {
switch (stroka[j]) {
case '0' ... '9': break;
default: return false; } }
return true; }
bool vetka2(const string stroka) {
switch (stroka[0]) {
case '+':
case '-':
if (stroka.length() < 2) return false;
return vetka2_dalshe(stroka);
break;
case '0' ... '9': return vetka2_dalshe(stroka); break;
default: return false; break; } }
bool mantissa(const string stroka, bool &flag, int &index) {
for (int j = 0; j < stroka.length(); j++) {
switch (stroka[j]) {
case 'e':
case 'E':
if (flag) return false;
if (j == (stroka.length() - 1)) return false;
flag = true;
index = j;
break; } }
return true; }
bool Dalshe(int i, const string stroka) {
int index_mant;
bool flag_dot = false;
bool flag_mant = false;
if (not mantissa(stroka, flag_mant, index_mant)) return false;
else {
if (flag_mant) {
string sub1 = stroka.substr(0, index_mant);
string sub2 = stroka.substr(index_mant+1);
return (vetka1(flag_dot, i, sub1) and vetka2(sub2)); }
else return vetka1(flag_dot, i, stroka); } }
bool proverka(const string stroka) {
switch (stroka[1]) {
case '0' ... '9': return Dalshe(1, stroka); break;
default: return false; break; } }
bool general_proverka(const string stroka) {
switch (stroka[0]) {
case '-':
case '+':
if (stroka.length() > 1) return proverka(stroka);
else return false;
break;
case '0' ... '9': return Dalshe(0, stroka); break;
default: return false; break; } }
long double opros(char s) {
string argument;
do {
cout << "Введите значение " << s << ": ";
getline(cin, argument);
if (argument.length() == 0) cout << "Вы не ввели значение!" << endl;
else if (not general_proverka(argument)) cout << "Некорректное значение!" << endl;
else break;
} while (true);
return atof(argument.c_str()); }
int main() {
for (char i = 'a'; i < 'd'; i++) {
long double a = opros(i);
cout << "Значение: " << a << " - корректное!" << endl;
}
}
В общем, частично переписал некоторые куски кода. Отчасти тут предыдущая версия (с дублированием кода),
что, конечно, не менее говно, но зато стало чуть читабельнее и работает без очевидных багов, как в исходной версии,
например: если в исходной версии ввести - "3w", то значение отображалось, как корректное, что не верно.
0
#include <iostream>
#include <string>
using namespace std;
long double opros(char s);
bool proverka(string stroka, int i, bool (*func)(int, string, bool &));
bool magia(string stroka, int i, bool (*func)(int, string, bool &));
int main() {
long double a;
for (char i = 'a'; i < 'd'; i++) { a = opros(i);
cout << "\n\nЗначение:\n" << a << " - корректное!\n";}}
bool f_break(int i, string s, bool &z){
return true;}
bool sub_func_mantissa(int j, string stroka, bool &flag, int &index) {
switch (stroka[j]) {
case 'e':
case 'E':
if ((flag) or (j == (stroka.length() - 1))) return false;
flag = true;
index = j;
break;
} return true;
}
bool sub_func_vetka1(int j, string stroka, bool &flag) {
if (stroka[j] == '.') {
if (flag) return false;
flag = true;
}
return true;
}
bool zikl_vetka(string stroka, int i, bool &flag, int &index, bool (*p_base_func)(int, string, bool &), char Drive) {
int j = 1;
bool flag_zikla = true;
for (j += i; j < stroka.length(); j++) {
if (not (Drive == 'M')) {
if (not ((flag_zikla) or (p_base_func(j, stroka, flag)))) return false;
flag_zikla = proverka(stroka, j, f_break);
} else {
if (not sub_func_mantissa(j, stroka, flag, index)) return false;
}
}
return true;
}
bool vetka1(bool &flag, int i, string stroka) {
int index;
return zikl_vetka(stroka, i, flag, index, sub_func_vetka1, 'O');
}
bool vetka2_dalshe(int i, string stroka, bool &z) {
bool flag = false;
int index;
return zikl_vetka(stroka, i, flag, index, f_break, 'O');
}
bool vetka2(string stroka) {
return magia(stroka, 1, vetka2_dalshe);
}
bool mantissa(string stroka, bool &flag, int &index) {
return zikl_vetka(stroka, -1, flag, index, f_break, 'M');
}
bool Dalshe(int i, string stroka, bool &z) {
int index_mant;
bool flag_dot = false;
bool flag_mant = false;
if (not mantissa(stroka, flag_mant, index_mant)) return false;
else {
if (flag_mant) {
string sub1 = stroka.substr(0, index_mant);
string sub2 = stroka.substr(index_mant+1);
return (vetka1(flag_dot, i, sub1) and vetka2(sub2));}
else return vetka1(flag_dot, i, stroka);}}
bool proverka(string stroka, int i, bool (*func)(int, string, bool &)) {
cout << " ---> proverka ";
bool z = true;
switch (stroka[i]) {
case '0': case '1': case '2':case '3':case '4': case '5': case '6': case '7': case '8': case '9': return func(i, stroka, z); break;
default:
return false;
break;}}
bool magia(string stroka, int i, bool (*func)(int, string, bool &)) { //3
switch (stroka[0]) {
case '-':
case '+': if (stroka.length() > 1) return proverka(stroka, i, func);
else return false; break;
default:
return proverka(stroka, 0, func); break;}}
bool general_proverka(string stroka) {
return magia(stroka, 1, Dalshe);}
long double opros(char s) { //1
string argument;
cout << "\nВведите значение: " << s << ": ";
getline(cin, argument);
if (argument.length() == 0) {
cout << "Вы не ввели значение!\n";
return opros(s);
}
else if (not general_proverka(argument)) {
cout << "\n\nНекорректное значение!\n";
return opros(s);
}
else return strtold(argument.c_str(), nullptr);
}
Проверяет введённую строку на корректность соответствия символов,
входящих в тип - long double. Если введённая строка корректна, приводит
данную строку к типу - long double. Иначе - просит заново ввести значение.
+3
class Metapetuh(type):
def __subclasscheck__(cls, C):
return True
def __instancecheck__(self, other):
return True
class Petuh(metaclass=Metapetuh):
pass
issubclass(object, Petuh) # True
isinstance(42, Petuh) # True
Мы зашкварили весь «Питон», и теперь все классы в нём — петухи.
По просьбам трудящихся: https://govnokod.ru/27166#comment602776.
+1
val users = listOf("foo", "bar")
println(users.joinToString{","})
+3
&НаКлиенте
Процедура ИмяФайла_ПроизводственнаяПрограммаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ДиалогВыборФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
ДиалогВыборФайла.Фильтр = "Файлы Microsoft Excel (*.xls, *.xlsx, *.xlsm)|*.xls; *.xlsx; *.xlsm|Все файлы (*.*)|*.*";
ДиалогВыборФайла.Показать(Новый ОписаниеОповещения("ИмяФайла_ПроизводственнаяПрограммаНачалоВыбораЗавершение", ЭтотОбъект, Новый Структура("ДиалогВыборФайла,ИмяФайла", ДиалогВыборФайла, Элемент.Имя)));
КонецПроцедуры
&НаКлиенте
Процедура ИмяФайла_ПроизводственнаяПрограммаНачалоВыбораЗавершение(ВыбранныеФайлы, ДополнительныеПараметры) Экспорт
ДиалогВыборФайла = ДополнительныеПараметры.ДиалогВыборФайла;
Если (ВыбранныеФайлы <> Неопределено) Тогда
ЭтаФорма[ДополнительныеПараметры.ИмяФайла] = ДиалогВыборФайла.ПолноеИмяФайла;
КонецЕсли;
КонецПроцедуры
Асинхронные вызовы??? Нее.... Не слышал...