- 1
- 2
def __repr__(self) -> str:
return f"<User{return ', inactive!' if not self.active else ''} #{self.id} ({self.username}/{self.email})>"
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
def __repr__(self) -> str:
return f"<User{return ', inactive!' if not self.active else ''} #{self.id} ({self.username}/{self.email})>"
Когда очень хочется использовать красивый f"{ormat}" для строки, но модель БД становится все сложнее...
+1
public function isDeleted($isDeleted = null)
{
$result = $this->_isDeleted;
if ($isDeleted !== null) {
$this->_isDeleted = $isDeleted;
}
return $result;
}
magento,core
+1
void Table::draw() {
SetConsoleCursorPosition(consOutput, { 0,0 });
for (int i = 0; i < lY*(lengthOfCageY + 1) + 1; i++) {
for (int j = 0; j < lX*(lengthOfCageX + 1) + 1; j++) {
if (i == 0 && j == 0)
cout << (char)201;
else if (i == 0 && j == lX*(lengthOfCageX + 1))
cout << (char)187;
else if (i == lY*(lengthOfCageY + 1) && j == 0)
cout << (char)200;
else
if (i == lY*(lengthOfCageY + 1) && j == lX*(lengthOfCageX + 1))
cout << (char)188;
else
if (i == 0)
if (j % (lengthOfCageX + 1) == 0)
cout << (char)203;
else
cout << (char)205;
else
if (i == lY*(lengthOfCageY + 1))
if (j % (lengthOfCageX + 1) == 0)
cout << (char)202;
else
cout << (char)205;
else
if (j == 0)
if (i % (lengthOfCageY + 1) == 0)
cout << (char)204;
else
cout << (char)186;
else
if (j == lX*(lengthOfCageX + 1))
if (i % (lengthOfCageY + 1) == 0)
cout << (char)185;
else
cout << (char)186;
else
if (i % (lengthOfCageY + 1) == 0 && j % (lengthOfCageX + 1) == 0)
cout << (char)206;
else
if (i % (lengthOfCageY + 1) == 0)
cout << (char)205;
else
if (j % (lengthOfCageX + 1) == 0)
cout << (char)186;
else
cout << " ";
}
cout << endl;
}
}
И прекрасно и ужасно. Плохой но хороший код для вывода красивой таблицы в консоль
+1
<select name="address_country">
<option value="AFG" <?php if($user["address_country"]=="AFG") { echo 'selected="selected"'; } ?> >Afghanistan</option>
<option value="ALA" <?php if($user["address_country"]=="ALA") { echo 'selected="selected"'; } ?> >Åland Islands</option>
<option value="ALB" <?php if($user["address_country"]=="ALB") { echo 'selected="selected"'; } ?> >Albania</option>
<option value="DZA" <?php if($user["address_country"]=="DZA") { echo 'selected="selected"'; } ?> >Algeria</option>
<option value="ASM" <?php if($user["address_country"]=="ASM") { echo 'selected="selected"'; } ?> >American Samoa</option>
<option value="AND" <?php if($user["address_country"]=="AND") { echo 'selected="selected"'; } ?> >Andorra</option>
<option value="AGO" <?php if($user["address_country"]=="AGO") { echo 'selected="selected"'; } ?> >Angola</option>
<option value="AIA" <?php if($user["address_country"]=="AIA") { echo 'selected="selected"'; } ?> >Anguilla</option>
<option value="ATA" <?php if($user["address_country"]=="ATA") { echo 'selected="selected"'; } ?> >Antarctica</option>
<option value="ATG" <?php if($user["address_country"]=="ATG") { echo 'selected="selected"'; } ?> >Antigua and Barbuda</option>
<option value="ARG" <?php if($user["address_country"]=="ARG") { echo 'selected="selected"'; } ?> >Argentina</option>
<option value="ARM" <?php if($user["address_country"]=="ARM") { echo 'selected="selected"'; } ?> >Armenia</option>
<option value="ABW" <?php if($user["address_country"]=="ABW") { echo 'selected="selected"'; } ?> >Aruba</option>
<option value="AUS" <?php if($user["address_country"]=="AUS") { echo 'selected="selected"'; } ?> >Australia</option>
<option value="AUT" <?php if($user["address_country"]=="AUT") { echo 'selected="selected"'; } ?> >Austria</option>
<option value="AZE" <?php if($user["address_country"]=="AZE") { echo 'selected="selected"'; } ?> >Azerbaijan</option>
...
<option value="ZWE" <?php if($user["address_country"]=="ZWE") { echo 'selected="selected"'; } ?> >Zimbabwe</option>
</select>
Сделали новый сайт, но заказчик потребовал сделать импорт данных со старого сайта.
Залез в базу, вижу в столбце country у юзера код "AND". Окей, с помощью поиска нашел файл для изменения профиля.
И тут увидел это чудо для 250 стран :)
+1
_G = setmetatable(_G,{__index = function() return setmetatable({},{__index = _G}) end})
print(allah,_G) --Разные таблы, при этом аллах даже никак не объявлен
anus.n = 10 --Это будет табла и anus.n будет таблой
anus = {n=10} --Это будет хорошо и anus.n будет 10
HUYZOLOTOY.table.insert(anus,10) --Нормас работает
print(anus.opa) --А это не табла а просто nil
for k,v in uier8u43uirhn_________.pairs(_G) do
hjashsnasmm.print(k,v) --А где Allah и все остальное?
end
_G = setmetatable(_G,{__index = function() return setmetatable({},{__index = _G}) end})
Сколько скриптов сломает проверку на nil?
+1
In [42]: os.path.join(r'c:\asd', r'c:\www')
Out[42]: 'c:\\www'
Нахуя???
+1
// https://github.com/Navadvipa-Chandra-das/prabhupada_calendar/blob/master/source/Prabhupada_convert.d
bool день_ли_это;
Тип_строки вид_строки;
Класс_Хитрый_накопитель Хитрый_накопитель = new Класс_Хитрый_накопитель( !Нужно_ли_удалять_пустые_дни, !Нужно_ли_удалять_пустые_дни_окончания_поста, Выходной_файл );
// цикл не простой, а с меткой "цикл"
цикл: while ( ( строка = Входной_файл.readln() ) !is null ) {
if ( Нужно_ли_удалять_служебные_строки ) {
if ( строка.length < 3 )
// чудо, а не возможность! Можно делать любые переходы и вылеты из множества вложенных циклов!
continue цикл;
служебная_строка = matchFirst( строка, выражение_служебная_строка );
if ( служебная_строка.captures.length > 0 )
continue цикл;
}
день_месяца = matchFirst( строка, выражение_день );
день_ли_это = день_месяца.captures.length > 0;
if ( день_ли_это ) {
вид_строки = Тип_строки.День;
if ( Нужна_ли_табуляция ) {
строка = "\t"c ~ день_месяца.captures[ 1 ] ~ "\t"c ~ день_месяца.captures[ 2 ] ~ "\t"c ~ день_месяца.captures[ 3 ] ~
"\t"c ~ день_месяца.captures[ 4 ] ~ "\t"c ~ день_месяца.captures[ 6 ].stripRight() ~ "\t"c ~ день_месяца.captures[ 7 ] ~
"\t"c ~ день_месяца.captures[ 8 ] ~ "\t"c ~ день_месяца.captures[ 10 ];
// обрабатываем "звездочку" поста
if ( день_месяца.captures[ 11 ].indexOf( '*' ) != -1 )
строка ~= "\t*"c;
строка ~= "\n";
}
// Удаляем, при желании комментрий к Экадаши - подходит для поста и не додходит для поста. Все равно есть еще символ звездочка и
// строка с именем Экадаши и явным упоминанием о посте!
if ( Нужно_ли_удалять_комментарий_Экадаши ) {
строка = replaceFirst( строка, выражение_для_чистки_комментария_Экадаши, ""c );
}
} else {
проверка_месяца = matchFirst( строка, выражение_месяц_ли_это );
if ( проверка_месяца.captures.length > 0 ) {
вид_строки = Тип_строки.Месяц;
// Просто удаляем цепочку начальных пробелов в строках месяца, если готовим табуляцию
if ( Нужна_ли_табуляция )
строка = replaceFirst( строка, выражение_цепочка_пробелов_в_начале_строки, ""c );
} else {
// Заменяем цепочку пробелов вначале строки на один единственный символ табуляции для праздников, но только если нужна табуляция
пробелы_в_начале_строки = matchFirst( строка, выражение_цепочка_пробелов_в_начале_строки );
if ( пробелы_в_начале_строки.captures.length > 0 ) {
окончание_поста = matchFirst( строка, выражение_окончание_поста );
if ( окончание_поста.captures.length > 0 )
вид_строки = Тип_строки.Окончание_поста;
else
вид_строки = Тип_строки.Праздник;
if ( Нужна_ли_табуляция )
строка = replaceFirst( строка, выражение_цепочка_пробелов_в_начале_строки, "\t"c );
} else
вид_строки = Тип_строки.Солнце;
}
}
// Удаляем строки из тире и GCal, но только если нужна табуляци. В книге они не нужны.
// Можно указать номер версии программы GCal в колонтитулах книги при желании
if ( Нужна_ли_табуляция ) {
if ( вид_строки == Тип_строки.Месяц )
строка = replaceAll( строка, выражение_для_чистки_Месяца, ""c );
if ( вид_строки == Тип_строки.Солнце )
строка = replaceAll( строка, выражение_для_чистки_Солнца, ""c );
}
// Переводим сначала фразы. Длительная операция, так как переводятся все имеющиеся фразы, не зависимо от того, встречаются ли они в строке или нет
foreach ( ref фраза; фразы )
строка = replaceAll( строка, regex( фраза ), _Словарь_фраз[ фраза ] );
// Переводим слова. Быстрее, так как переводятся только те слова, которые встречаются в данной конкретной строке
слова = std.regex.split( строка, выражение_разделитель );
// сортируем, чтобы короткие слова не позаменялись в более длинных словах внутри
// Вдохнули поглубже! Такого чуда я еще не видел! Не иначе как mixin в действии!
слова.sort!( "a.length > b.length" );
foreach ( ref слово; слова )
if ( слово.length > 0 )
строка = replaceAll!( Чудо_слов )( строка, regex( слово ) );
Хитрый_накопитель.В_копилку( строка, вид_строки );
}
// Пропихнем в файл последнюю строку
Хитрый_накопитель.В_копилку( ""c, Тип_строки.День );
window.showMessageBox( UIString.fromId( "ЧЕСТЬ_ИМЕЮ_ДОЛОЖИТЬ"c ),
UIString.fromId( "ЗАДАНИЕ_ВЫПОЛНЕНО!"c ) );
}
Кришнаит, пишущий на языке D в стиле 1С
+1
select
x1.airport, x1.amount, x1.exempt
from
Taxes x1
where
x1.code = 'departure'
and x1.airport in (
select
xx1.airport
from
(select
yx1.airport
from
Taxes yx1
where
yx1.airport = x1.airport
and yx1.code = x1.code
group by
yx1.airport, yx1.amount, yx1.exempt
) xx1
group by xx1.airport
having count(xx1.airport) > 1
)
;
Давно я не копался в SQL. Вот что нагородил :(
Суть такова: у аэропортов есть departure tax, который может быть разный в зависимости от некоторых критериев (нерелевантно каких).
А может быть и одинаковый. Но все равно аэропорт может иметь несколько рядков в БД (с одинаковым amount). А еще может быть exempt = 'X',
что тождественно amount = 0.
Задача: выбрать все рядки с departure tax для аэропортов у которых taxamt/exempt разный в зависимости от некоторых других критериев.
+1
...
# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes
...
.bashrc по умолчанию в Xubuntu.
Мне казалось, что приглашение должно быть другого цвета, чтобы можно было быстро найти начало вывода программы:
user@computer:~$ cat blah.txt
<много текста>
<много текста>
<много текста>
<много текста>
<много текста>
Но тут, понимаешь, решили, что нечего цвета разводить.
+1
#include <stdio.h>
int main()
{
for (int x; scanf("%d", &x);) {
#define x x += x
x & (x-1);
printf("%d\n", x);
}
return 0;
}
https://ideone.com/SxgTL0
-3 -28
-2 -20
-1 -12
0 -4
1 4
2 12
3 20
Ничо нипанятна...