- 1
- 2
- 3
- 4
try:
assert isinstance(tag, bs4.element.Tag)
except AssertionError:
raise TypeError
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
try:
assert isinstance(tag, bs4.element.Tag)
except AssertionError:
raise TypeError
0
def calc ( x ) :
if type ( x ) is not list :
return x
if len ( x ) == 0 :
return x
while type ( x [ 0 ] ) is list :
x = x [ 0 ] + x [ 1: ]
c = x [ 0 ]
print ( x )
if c == 'I' :
if len ( x ) <= 1 :
return x
return calc ( x [ 1: ] )
elif c == 'K' :
if len ( x ) <= 2 :
return x
return calc ( [ x[1] ] + x [ 3: ] )
elif c == 'W' :
if len ( x ) <= 2 :
return x
return calc ( x[1:3] + x[ 2: ] )
elif c == 'S' :
if len ( x ) <= 3 :
return x
return calc ( [ x[1] , x [3] , [ x[2] , x[3] ] ] + x [ 4: ] )
elif c == 'B' :
if len ( x ) <= 3 :
return x
return calc ( [ x[1] , [ x[2] , x[3] ] ] + x[4:] )
elif c == 'C' :
if len ( x ) <= 3 :
return x
return calc ( [ x[1] , x[3] , x[2] ] + x[ 4 : ] )
return [ c ] + calc ( x [ 1: ] )
def parse ( s , n = 0 ) :
res = []
i = n
while i < len ( s ) :
if s [ i ] == '(' :
t = parse ( s , i + 1 )
res.append ( t [ 0 ] )
i = t [ 1 ] - 1
elif s [ i ] == ')' :
return ( res , i + 1 )
else :
res.append ( s [ i ] )
i += 1
return ( res , i )
print ( '>> ' , end = '' )
while True :
for i in calc ( parse ( input() ) [ 0 ] ) :
print ( i , end = '' )
print ( '\n>> ' , end = '' )
Вычисляэ комбинаторныэ термы, и выдаё промежности, типа:
>> S(SKK)(SKK)x
['S', ['S', 'K', 'K'], ['S', 'K', 'K'], 'x']
['S', 'K', 'K', 'x', [['S', 'K', 'K'], 'x']]
['K', 'x', ['K', 'x'], [['S', 'K', 'K'], 'x']]
['x', [['S', 'K', 'K'], 'x']]
['S', 'K', 'K', 'x']
['K', 'x', ['K', 'x']]
['x']
xx
0
function isInteger(i) {
if(i > ~~i == false) return false
alert("тест "+(i > ~~i))
return true
}
alert( isInteger(1) ) // true
alert( isInteger(1.5) ) // false
alert( isInteger(-0.5) ) // false
//Второй вариант с багом
function isInteger(i) {
if(i > ~~i) return false
alert("тест "+(i > ~~i))
return true
}
alert( isInteger(1) ) // true
alert( isInteger(1.5) ) // false
alert( isInteger(-0.5) ) // false //нихуя не фалсе
Это пиздец нахуй, смотрите как легко налажать в js
−3
https://github.com/covrom/gonec
1C:Enterprise-like language interpreter written in Go https://covrom.github.io/gonec/
ГОВНЕЦ (govnec)
Интерпретатор и платформа создания микросервисов на 1С-подобном языке
Цели
Интерпретатор создан для решения программистами 1С множества задач, связанных с высокопроизводительными распределенными вычислениями, создания вэб-сервисов и вэб-порталов для работы тысяч пользователей, работы с высокоэффективными базами данных с использованием синтаксиса языка, похожего, но не ограниченного возможностями языка 1С.
Включив такой интерпретатор в свое решение, Вы можете предоставить высокий уровень сервиса для своих клиентов, который обгонит решения не только ваших конкурентов на рынке 1С, но и конкурентных платформ в enterprise.
Интерпретатор разрабатывается “от простого к сложному”. На начальных этапах будет включена базовая функциональность многопоточных вычислений и сетевых сервисов. В перспективе планируется организация работы с различными базами данных и визуализация управляемых форм, созданных в конфигураторе.
Еще никогда не были так просто доступны программистам 1С возможности:
* Создать микросервис с произвольным сетевым протоколом, развернуть его на linux, в docker контейнере или кластере kubernetes
* Выполнить сложную многопоточную вычислительную задачу для десятков тысяч подключающихся пользователей за миллисекунды
* Взаимодействовать с пользователем через web-браузер с минимальным трафиком
* Сохранять и получать данные с максимально доступной скоростью в key-value базах данн
+319
template<typename OpeningBracketRange,
typename ClosingBracketRange,
typename StopTokenRange,
typename CommentBlockRangePairRange,
typename RecursiveCommentBlockRangePairRange>
Meta::EnableIf<
IsFiniteForwardRange<OpeningBracketRange>::_ &&
IsFiniteForwardRange<ClosingBracketRange>::_ &&
IsFiniteForwardRange<StopTokenRange>::_ &&
IsFiniteForwardRange<CommentBlockRangePairRange>::_ &&
IsFiniteForwardRange<RecursiveCommentBlockRangePairRange>::_,
decltype(Meta::Val<R>().Take(0))> ReadRecursiveBlock(int& counter, size_t* ioIndex,
OpeningBracketRange openingBracket, ClosingBracketRange closingBracket, StopTokenRange stopToken,
CommentBlockRangePairRange commentBlocks, RecursiveCommentBlockRangePairRange recursiveCommentBlocks)
{
R start = me();
size_t index = 0;
const size_t openingBracketLen = openingBracket.Count();
const size_t closingBracketLen = closingBracket.Count();
const size_t stopTokenLen = stopToken.Count();
while(!me().Empty() && counter!=0)
{
if(openingBracketLen!=0 && me().StartsWith(openingBracket))
{
counter++;
me().PopFrontExactly(openingBracketLen);
index += openingBracketLen;
continue;
}
if(closingBracketLen!=0 && me().StartsWith(closingBracket))
{
counter--;
me().PopFrontExactly(closingBracketLen);
index += closingBracketLen;
continue;
}
if(stopTokenLen!=0 && me().StartsWith(stopToken))
{
me().PopFrontExactly(stopTokenLen);
index += stopTokenLen;
break;
}
bool commentFound = false;
for(auto& commentBlock: commentBlocks)
{
commentFound = me().StartsWith(commentBlock.Get<0>());
if(!commentFound) continue;
const size_t commentBlockOpeningLen = commentBlock.Get<0>().Count();
const size_t commentBlockClosingLen = commentBlock.Get<1>().Count();
me().PopFrontN(commentBlockOpeningLen);
index += commentBlockOpeningLen;
me().FindAdvance(commentBlock.Get<1>(), &index);
me().PopFrontN(commentBlockClosingLen);
index += commentBlockClosingLen;
break;
}
if(commentFound) continue;
for(auto& commentBlock: recursiveCommentBlocks)
{
commentFound = me().StartsWith(commentBlock.Get<0>());
if(!commentFound) continue;
int commentCounter = 1;
ReadRecursiveBlock(commentCounter, &index, commentBlock.Get<0>(), commentBlock.Get<1>(), null, null);
break;
}
if(commentFound) continue;
me().PopFront();
}
if(ioIndex!=null) (*ioIndex) += index;
return start.Take(index);
}
Это мои последние достижения в написании сверх универсального обобщённого кода.
Начиналось всё с функции, которая парсила блок кода до закрывающей фигурной скобки, учитывая встречающиеся открывающие скобки. Затем появилась поддержка комментариев и строк. Позже я решил, что нечего привязываться к какому-то конкретному языку, ведь можно же таким же образом парсить другой язык, где вместо скобок begin end и комментарии по-другому оформляются.
А потом я подумал, зачем вообще привязывать типы параметров к строкам и массивам строк? И почему код, который парсится, вообще должен быть строкой, хранящейся в памяти непрерывно? В итоге мои размышления привели к такой реализации, которая способна парсить всё подряд, в том числе и связные списки, причём необязательно состоящие из символов. При этом открывающуюся скобку можно передать связным списком, закрывающуюся - массивом, а блоки комментариев передавать как массивом кортежей, так и хеш-таблицей.
При этом эта функция относится к классу примеси и наследованием её можно подмешать к любому классу, имеющему нужные методы.
0
Ку всем
Посоны
Как привязать БД для авторизации к html странице?
Не php а html
Написал мне Вася Пупкин, дипломированный специалист в области информационных технологий
+6
$uri = isset($endpoint['path']) ? $endpoint['path'] : null;
if (!isset ($uri)) {
$uri = "/";
}
вместо $uri = isset($endpoint['path']) ? $endpoint['path'] : '/';
+127
Makefile:
ARCH=i386
...
CFLAGS="-m32 -march=pentium-m -O3"
...
Других архитектур не существует?
+101
char buf[4096];
*((char*)&buf[14]) = 0x30;
Запись значения в массив (такой способ обращения к элементу массива тщательно соблюдается на протяжении всех 25000 строк кода проекта)
−108
__author__ = 'КотейКККин'
# Комментарий неуместен.
# О странности автора код сам все скажет.
import random
the_number = random.randint(1, 20867248)
print("Поиграем? Я загадал число от 1 до 20867248.")
print("У вас 1 попытка")
guess = int(input("Ваше предположение: "))
if guess != the_number:
print("Лошара, даже число угадать не можешь. И какой ты 'мужик' после этого...?")
else:
print(" O_O ты угадал??? По-любому вангуешь ;)")
Приобрел недавно ноутбук с рук, но чувак не почистил систему. Нашел на просторах его жестка в папках "обучение"...автор действительно имел незаурядное мышление о_О
P.S. Минусы ставьте за код, а не мне))