- 1
IT Оффтоп #110
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
guest6
только что
#
IT Оффтоп #110
#80: https://govnokod.ru/27270 https://govnokod.xyz/_27270
#81: https://govnokod.ru/27280 https://govnokod.xyz/_27280
#82: https://govnokod.ru/27284 https://govnokod.xyz/_27284
#83: https://govnokod.ru/27296 https://govnokod.xyz/_27296
#84: https://govnokod.ru/27336 https://govnokod.xyz/_27336
#85: https://govnokod.ru/27381 https://govnokod.xyz/_27381
#86: https://govnokod.ru/27405 https://govnokod.xyz/_27405
#87: https://govnokod.ru/27429 https://govnokod.xyz/_27429
#88: https://govnokod.ru/27432 https://govnokod.xyz/_27432
#89: https://govnokod.ru/27435 https://govnokod.xyz/_27435
#90: https://govnokod.ru/27439 https://govnokod.xyz/_27439
#91: https://govnokod.ru/27449 https://govnokod.xyz/_27449
#92: https://govnokod.ru/27460 https://govnokod.xyz/_27460
#93: https://govnokod.ru/27463 https://govnokod.xyz/_27463
#94: https://govnokod.ru/27466 https://govnokod.xyz/_27466
#95: https://govnokod.ru/27473 https://govnokod.xyz/_27473
#96: https://govnokod.ru/27478 https://govnokod.xyz/_27478
#97: https://govnokod.ru/27484 https://govnokod.xyz/_27484
#98: https://govnokod.ru/27495 https://govnokod.xyz/_27495
#99: https://govnokod.ru/27504 https://govnokod.xyz/_27504
#100: https://govnokod.ru/27508 https://govnokod.xyz/_27508
#101: https://govnokod.ru/27511 https://govnokod.xyz/_27511
#102: https://govnokod.ru/27518 https://govnokod.xyz/_27518
#103: https://govnokod.ru/27526 https://govnokod.xyz/_27526
#104: https://govnokod.ru/27534 https://govnokod.xyz/_27534
#105: https://govnokod.ru/27544 https://govnokod.xyz/_27544
#106: https://govnokod.ru/27552 https://govnokod.xyz/_27552
#107: https://govnokod.ru/27554 https://govnokod.xyz/_27554
#108: https://govnokod.ru/27557 https://govnokod.xyz/_27557
#109: https://govnokod.ru/27581 https://govnokod.xyz/_27581
Пиздец-оффтоп #124
#94: https://govnokod.ru/28895 https://govnokod.xyz/_28895
#95: https://govnokod.ru/28904 https://govnokod.xyz/_28904
#96: https://govnokod.ru/28912 https://govnokod.xyz/_28912
#97: https://govnokod.ru/28918 https://govnokod.xyz/_28918
#98: https://govnokod.ru/28932 https://govnokod.xyz/_28932
#99: https://govnokod.ru/28936 https://govnokod.xyz/_28936
#100: https://govnokod.ru/28940 https://govnokod.xyz/_28940
#101: https://govnokod.ru/28949 https://govnokod.xyz/_28949
#102: https://govnokod.ru/28978 https://govnokod.xyz/_28978
#103: https://govnokod.ru/28982 https://govnokod.xyz/_28982
#104: https://govnokod.ru/28989 https://govnokod.xyz/_28989
#105: https://govnokod.ru/29052 https://govnokod.xyz/_29052
#106: https://govnokod.ru/29069 https://govnokod.xyz/_29069
#107: https://govnokod.ru/29086 https://govnokod.xyz/_29086
#108: https://govnokod.ru/29102 https://govnokod.xyz/_29102
#109: https://govnokod.ru/29126 https://govnokod.xyz/_29126
#110: https://govnokod.ru/29136 https://govnokod.xyz/_29136
#111: https://govnokod.ru/29142 https://govnokod.xyz/_29142
#112: https://govnokod.ru/29155 https://govnokod.xyz/_29155
#113: https://govnokod.ru/29160 https://govnokod.xyz/_29160
#114: https://govnokod.ru/29165 https://govnokod.xyz/_29165
#115: https://govnokod.ru/29173 https://govnokod.xyz/_29173
#116: https://govnokod.ru/29174 https://govnokod.xyz/_29174
#117: https://govnokod.ru/29182 https://govnokod.xyz/_29182
#118: https://govnokod.ru/29191 https://govnokod.xyz/_29191
#119: https://govnokod.ru/29196 https://govnokod.xyz/_29196
#120: https://govnokod.ru/29205 https://govnokod.xyz/_29205
#121: https://govnokod.ru/29216 https://govnokod.xyz/_29216
#122: https://govnokod.ru/29219 https://govnokod.xyz/_29219
#123: https://govnokod.ru/29232 https://govnokod.xyz/_29232
$('#info, #progress, #portfolio, #content1, #content2, #content3, #content4, #content5, #content6, #content7, #content8, #content9, #content10, #content11, #content12, #content13, #content14, #oneclick, #zoomer, #noback, #noinfo').fadeOut(0);
$('#abouticon').toggle(function(){
$('#pad, img[src*="line"]').fadeOut(500);
$('#abouticon').css({'background' : '#dae2e6'});
$('#info, #progress').delay(500).fadeIn(500);
$('img[src*="iDrugov.png"]').fadeOut(500);
//
$('#portfolio').fadeOut(500);
$('#icon3').css({'background' : '#83bdda'});
}, function(){
$('#pad, img[src*="line"]').delay(500).fadeIn(500);
$('#abouticon').css({'background' : '#a3c7da'});
$('#info, #progress').fadeOut(500);
$('img[src*="iDrugov.png"]').delay(500).fadeIn(500);
})
Много хорошего, годного jQuery!
struct IText{
typedef boost::shared_ptr<IText> SPtr;
virtual void draw() = 0;
virtual void add(const SPtr&) {
throw std::runtime_error("IText: Can't add to a leaf");
}
virtual void remove(const SPtr&){
throw std::runtime_error("IText: Can't remove from a leaf");
}
};
struct CompositeText: public IText{
void add(const SPtr& sptr){
children_.push_back(sptr);
}
void remove(const SPtr& sptr){
children_.remove(sptr);
}
void replace(const SPtr& oldValue, const SPtr& newValue){
std::replace(children_.begin(), children_.end(), oldValue, newValue);
}
virtual void draw(){
BOOST_FOREACH(SPtr& sptr, children_){
sptr->draw();
}
}
private:
std::list<SPtr> children_;
};
struct Letter: public IText{
Letter(char c):c_(c) {}
virtual void draw(){
std::cout<<c_;
}
private:
char c_;
};
int main(){
CompositeText sentence;
IText::SPtr lSpace(new Letter(' '));
IText::SPtr lExcl(new Letter('!'));
IText::SPtr lComma(new Letter(','));
IText::SPtr lNewLine(new Letter('\n'));
IText::SPtr lH(new Letter('H')); // letter 'H'
IText::SPtr le(new Letter('e')); // letter 'e'
IText::SPtr ll(new Letter('l')); // letter 'l'
IText::SPtr lo(new Letter('o')); // letter 'o'
IText::SPtr lW(new Letter('W')); // letter 'W'
IText::SPtr lr(new Letter('r')); // letter 'r'
IText::SPtr ld(new Letter('d')); // letter 'd'
IText::SPtr li(new Letter('i')); // letter 'i'
IText::SPtr wHello(new CompositeText);
wHello->add(lH);
wHello->add(le);
wHello->add(ll);
wHello->add(ll);
wHello->add(lo);
IText::SPtr wWorld(new CompositeText); // word "World"
wWorld->add(lW);
wWorld->add(lo);
wWorld->add(lr);
wWorld->add(ll);
wWorld->add(ld);
sentence.add(wHello);
sentence.add(lComma);
sentence.add(lSpace);
sentence.add(wWorld);
sentence.add(lExcl);
sentence.add(lNewLine);
sentence.draw(); // ptrints "Hello, World!\n"
IText::SPtr wHi(new CompositeText); // word "Hi"
wHi->add(lH);
wHi->add(li);
sentence.replace(wHello, wHi);
sentence.draw(); // ptrints "Hi, World!\n"
sentence.remove(wWorld);
sentence.remove(lSpace);
sentence.remove(lComma);
sentence.draw(); // ptrints "Hi!\n"
Hi, World! Психологическая зависимость от надуманного ООП убивает проекты и их создателей. Всё хорошо в меру. (Найдено на просторах интернета).
IT Оффтоп #229
#199: https://govnokod.ru/28942 https://govnokod.xyz/_28942
#200: https://govnokod.ru/28945 https://govnokod.xyz/_28945
#201: https://govnokod.ru/28948 https://govnokod.xyz/_28948
#202: https://govnokod.ru/28951 https://govnokod.xyz/_28951
#203: https://govnokod.ru/28954 https://govnokod.xyz/_28954
#204: https://govnokod.ru/28971 https://govnokod.xyz/_28971
#205: https://govnokod.ru/28986 https://govnokod.xyz/_28986
#206: https://govnokod.ru/28991 https://govnokod.xyz/_28991
#207: https://govnokod.ru/29002 https://govnokod.xyz/_29002
#208: https://govnokod.ru/29060 https://govnokod.xyz/_29060
#209: https://govnokod.ru/29070 https://govnokod.xyz/_29070
#210: https://govnokod.ru/29079 https://govnokod.xyz/_29079
#211: https://govnokod.ru/29092 https://govnokod.xyz/_29092
#212: https://govnokod.ru/29093 https://govnokod.xyz/_29093
#213: https://govnokod.ru/29104 https://govnokod.xyz/_29104
#214: https://govnokod.ru/29114 https://govnokod.xyz/_29114
#215: https://govnokod.ru/29125 https://govnokod.xyz/_29125
#216: https://govnokod.ru/29132 https://govnokod.xyz/_29132
#217: https://govnokod.ru/29147 https://govnokod.xyz/_29147
#218: https://govnokod.ru/29156 https://govnokod.xyz/_29156
#219: https://govnokod.ru/29166 https://govnokod.xyz/_29166
#220: https://govnokod.ru/29181 https://govnokod.xyz/_29181
#221: https://govnokod.ru/29185 https://govnokod.xyz/_29185
#222: https://govnokod.ru/29190 https://govnokod.xyz/_29190
#223: https://govnokod.ru/29203 https://govnokod.xyz/_29203
#224: https://govnokod.ru/29211 https://govnokod.xyz/_29211
#225: https://govnokod.ru/29212 https://govnokod.xyz/_29212
#226: https://govnokod.ru/29218 https://govnokod.xyz/_29218
#227: https://govnokod.ru/29220 https://govnokod.xyz/_29220
#228: https://govnokod.ru/29230 https://govnokod.xyz/_29230
Пиздец-оффтоп #117
#87: https://govnokod.ru/28817 https://govnokod.xyz/_28817
#88: https://govnokod.ru/28836 https://govnokod.xyz/_28836
#89: https://govnokod.ru/28843 https://govnokod.xyz/_28843
#90: https://govnokod.ru/28874 https://govnokod.xyz/_28874
#91: https://govnokod.ru/28880 https://govnokod.xyz/_28880
#92: https://govnokod.ru/28884 https://govnokod.xyz/_28884
#93: https://govnokod.ru/28889 https://govnokod.xyz/_28889
#94: https://govnokod.ru/28895 https://govnokod.xyz/_28895
#95: https://govnokod.ru/28904 https://govnokod.xyz/_28904
#96: https://govnokod.ru/28912 https://govnokod.xyz/_28912
#97: https://govnokod.ru/28918 https://govnokod.xyz/_28918
#98: https://govnokod.ru/28932 https://govnokod.xyz/_28932
#99: https://govnokod.ru/28936 https://govnokod.xyz/_28936
#100: https://govnokod.ru/28940 https://govnokod.xyz/_28940
#101: https://govnokod.ru/28949 https://govnokod.xyz/_28949
#102: https://govnokod.ru/28978 https://govnokod.xyz/_28978
#103: https://govnokod.ru/28982 https://govnokod.xyz/_28982
#104: https://govnokod.ru/28989 https://govnokod.xyz/_28989
#105: https://govnokod.ru/29052 https://govnokod.xyz/_29052
#106: https://govnokod.ru/29069 https://govnokod.xyz/_29069
#107: https://govnokod.ru/29086 https://govnokod.xyz/_29086
#108: https://govnokod.ru/29102 https://govnokod.xyz/_29102
#109: https://govnokod.ru/29126 https://govnokod.xyz/_29126
#110: https://govnokod.ru/29136 https://govnokod.xyz/_29136
#111: https://govnokod.ru/29142 https://govnokod.xyz/_29142
#112: https://govnokod.ru/29155 https://govnokod.xyz/_29155
#113: https://govnokod.ru/29160 https://govnokod.xyz/_29160
#114: https://govnokod.ru/29165 https://govnokod.xyz/_29165
#115: https://govnokod.ru/29173 https://govnokod.xyz/_29173
#116: https://govnokod.ru/29174 https://govnokod.xyz/_29174
Хрюкни #40
._ __,
|\,../'\
,'. . `.
.-- '`.
( `' , ;
,`--' _, ,'\
,`.____ `.
/ `, |
' \, '
| / /`,
`, . ,` ./ |
' `. ,' |;,' ,@
______| | _________,_____jv______
`. `. ,'
,'_,','_,
`' `'
#10: https://govnokod.ru/27472 https://govnokod.xyz/_27472
#11: https://govnokod.ru/27517 https://govnokod.xyz/_27517
#12: https://govnokod.ru/27636 https://govnokod.xyz/_27636
#13: (vanished) https://govnokod.xyz/_27711
#14: https://govnokod.ru/27713 https://govnokod.xyz/_27713
#15: https://govnokod.ru/27721 https://govnokod.xyz/_27721
#16: https://govnokod.ru/27722 https://govnokod.xyz/_27722
#17: (vanished) https://govnokod.xyz/_27723
#18: https://govnokod.ru/27724 https://govnokod.xyz/_27724
#19: https://govnokod.ru/27726 https://govnokod.xyz/_27726
#20: https://govnokod.ru/27727 https://govnokod.xyz/_27727
#21: https://govnokod.ru/27870 https://govnokod.xyz/_27870
#22: https://govnokod.ru/28067 https://govnokod.xyz/_28067
#23: https://govnokod.ru/28277 https://govnokod.xyz/_28277
#24: https://govnokod.ru/28471 https://govnokod.xyz/_28471
#25: https://govnokod.ru/28659 https://govnokod.xyz/_28659
#26: (vanished) https://govnokod.xyz/_28661
#27: (vanished) https://govnokod.xyz/_28668
#28: https://govnokod.ru/28678 https://govnokod.xyz/_28678
#29: https://govnokod.ru/28686 https://govnokod.xyz/_28686
#30: https://govnokod.ru/28693 https://govnokod.xyz/_28693
#31: https://govnokod.ru/28700 https://govnokod.xyz/_28700
#32: https://govnokod.ru/28706 https://govnokod.xyz/_28706
#33: https://govnokod.ru/28713 https://govnokod.xyz/_28713
#34: https://govnokod.ru/28723 https://govnokod.xyz/_28723
#35: https://govnokod.ru/28731 https://govnokod.xyz/_28731
#36: https://govnokod.ru/28737 https://govnokod.xyz/_28737
#37: https://govnokod.ru/28741 https://govnokod.xyz/_28741
#38: https://govnokod.ru/28751 https://govnokod.xyz/_28751
#39: https://govnokod.ru/28854 https://govnokod.xyz/_28854
Бесконечный оффтоп имени Гологуба #9
#1: https://govnokod.ru/28992 https://govnokod.xyz/_28992
#2: https://govnokod.ru/29053 https://govnokod.xyz/_29053
#3: https://govnokod.ru/29075 https://govnokod.xyz/_29075
#4: https://govnokod.ru/29110 https://govnokod.xyz/_29110
#5: https://govnokod.ru/29127 https://govnokod.xyz/_29127
#6: https://govnokod.ru/29140 https://govnokod.xyz/_29140
#7: https://govnokod.ru/29170 https://govnokod.xyz/_29170
#8: https://govnokod.ru/29192 https://govnokod.xyz/_29192
import std.stdio;
template GenMix()
{
const char[] GenMix =
"template GenMix2()" ~
"{" ~
" const char[] GenMix2 = \"writeln(\\\"Hello, Wandbox!\\\");\";" ~
"};";
}
template MixMix(string Name)
{
const char[] MixMix = "mixin(" ~ Name ~ "!());";
}
mixin(GenMix!());
void main()
{
mixin(GenMix2!());
mixin(MixMix!("GenMix2"));
}
https://wandbox.org/permlink/1HpjfgrgVLyBSrXG
ГОМОИКОННОСТЬ в D
async Create(id, subscribe_yyyymmdd) {
const query = "INSERT INTO users(id,subscribe_yyyymmdd) VALUES ($1,$2) RETURNING *";
const values = [id, subscribe_yyyymmdd];
try {
const result = await this.db.query(query, values);
return result.rows[0].id;
} catch (error) {
this.logger.error(error);
}
},
async Update() {
const query = "UPDATE users SET subscribe_yyyymmdd = $1 where id=$2 RETURNING *";
const values = [id, subscribe_yyyymmdd];
try {
const result = await this.db.query(query, values);
return result.rows[0].id;
} catch (error) {
this.logger.error(error);
}
},
Из https://vk.com/wall521764930_6553 .
struct Family: Enumerable {
var name = "Smith"
var father = "Bob"
var mother = "Alice"
var child = "Carol"
func each(block: (String) -> Void) {
for i in 0...2 {
switch i {
case 0: block("\(father) \(name)")
case 1: block("\(mother) \(name)")
case 2: block("\(child) \(name)")
default: break
}
}
}
}
http://matthijshollemans.com/2015/07/22/mixins-and-traits-in-swift-2/
Pattern matching головного мозга. Верно говорят, что тот, кто не умеет делать, идет учить других как надо делать.
mixin template GenerateAutoDispose()
{
void dispose()
{
foreach_reverse(i,t;this.tupleof)
{
static if(staticIndexOf!(auto_dispose,__traits(getAttributes, this.tupleof[i])) != -1)
{
static if(isArray!(typeof(t)))
{
foreach(t1;t)
{
if(t1 !is null)
{
t1.dispose();
}
}
}
else
{
if(t !is null)
{
t.dispose();
}
}
}
}
}
}
http://pastebin.com/2x2k7ngR
Как вы думаете, чем отличаются эти два параметра в Django?
use_tls: EMAIL_USE_TLS
use_ssl: EMAIL_USE_SSL
ответ в комменте
EMAIL_USE_TLS
Whether to use a TLS (secure) connection when talking to the SMTP server
EMAIL_USE_SSL
Whether to use an implicit TLS (secure) connection when talking to the SMTP server
// 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С
// https://godbolt.org/z/PPAWM0
#include <embed>
#include <cstdint>
constexpr std::uint64_t val_64_const = 0xcbf29ce484222325u;
constexpr std::uint64_t prime_64_const = 0x100000001b3u;
inline constexpr std::uint64_t
hash_64_fnv1a_const(const char* const ptr, std::size_t ptr_size, const std::uint64_t value = val_64_const) noexcept {
return (ptr_size == 1)
? value :
hash_64_fnv1a_const(&ptr[1],
ptr_size - 1,
(value ^ static_cast<std::uint64_t>(static_cast<char>(*ptr))) * prime_64_const);
}
int main () {
constexpr std::span<const char> art_data = std::embed("/dev/urandom", 32);
constexpr std::uint64_t actual = hash_64_fnv1a_const(art_data.data(), art_data.size());
return static_cast<int>(actual);
}
Очередная дрисня http://open-std.org/JTC1/SC22/WG21/docs/papers/2018/p1040r0.html в крестоговне, теперь можно через std::embed прочитать какое-то говно и даже в constexpr с ним что-то делать, например считать хеш-сумму. Можно constexpr-компилятор сделать, который бы читал код через std::embed и через constexpr хуиту его обрабатывал и компилировал. Скажите им еще про миксины из D
(function(_){
_.mixin({makeCarouselWidget: function (container, el, width, height, tmpl) {
var list_of_rows = _(container).groupBy(function(e, index){
return Math.floor(index / (width * height));
}); // transform collection to list by 'num_of_cols' chunks
_(list_of_rows).each(function(row){
var list_of_chunks = _(row).groupBy(function(e, index){
return Math.floor(index/width);
});
var li = $('<li>').appendTo(el);
_.each(list_of_chunks, function(chunk){
var r = $('<div>').attr('class','row fooitem')
.attr('style', "margin-right:50px;").appendTo(li);
_.each(chunk, function(item){
r.append(
tmpl.render(item)
);
});
})
}); // each list_of_rows
}});
})(_);
Я хочу быть кочегаром, кочегаром, кочегаром.
Работать сутки-через-трое, через-трое, через-трое...
import std.stdio;
struct Vector
{
private static bool checkOpDispatch(in string str)
{
if(str.length != 4) return false;
foreach(c; str)
{
if(c != 'x' && c != 'y' && c != 'z' && c != 'w') return false;
}
return true;
}
float x,y,z,w;
@property auto opDispatch(string s)() const if(checkOpDispatch(s))
{
return Vector(mixin(s[0..1]),
mixin(s[1..2]),
mixin(s[2..3]),
mixin(s[3..4]));
}
void print() const
{
writefln("Vector: %f, %f, %f, %f", x, y, z, w);
}
}
void main()
{
//vector swizzling
Vector v = {1,2,3,4};
v.print();
auto v1 = v.wzyx;
v1.print();
auto v2 = v.xyxy;
v2.print();
}
http://ideone.com/bfA9gI
mixin(iota(3).map!(i => format("v[%1$d]+=rhs.v[%1$d];", i)).join());
IT Оффтоп #207
#177: https://govnokod.ru/28709 https://govnokod.xyz/_28709
#178: https://govnokod.ru/28716 https://govnokod.xyz/_28716
#179: https://govnokod.ru/28726 https://govnokod.xyz/_28726
#180: https://govnokod.ru/28734 https://govnokod.xyz/_28734
#181: https://govnokod.ru/28739 https://govnokod.xyz/_28739
#182: https://govnokod.ru/28749 https://govnokod.xyz/_28749
#183: https://govnokod.ru/28777 https://govnokod.xyz/_28777
#184: https://govnokod.ru/28790 https://govnokod.xyz/_28790
#185: https://govnokod.ru/28794 https://govnokod.xyz/_28794
#186: https://govnokod.ru/28815 https://govnokod.xyz/_28815
#187: https://govnokod.ru/28833 https://govnokod.xyz/_28833
#188: https://govnokod.ru/28837 https://govnokod.xyz/_28837
#189: https://govnokod.ru/28840 https://govnokod.xyz/_28840
#190: https://govnokod.ru/28875 https://govnokod.xyz/_28875
#191: https://govnokod.ru/28878 https://govnokod.xyz/_28878
#192: https://govnokod.ru/28886 https://govnokod.xyz/_28886
#193: https://govnokod.ru/28911 https://govnokod.xyz/_28911
#194: https://govnokod.ru/28914 https://govnokod.xyz/_28914
#195: https://govnokod.ru/28917 https://govnokod.xyz/_28917
#196: https://govnokod.ru/28925 https://govnokod.xyz/_28925
#197: https://govnokod.ru/28935 https://govnokod.xyz/_28935
#198: https://govnokod.ru/28938 https://govnokod.xyz/_28938
#199: https://govnokod.ru/28942 https://govnokod.xyz/_28942
#200: https://govnokod.ru/28945 https://govnokod.xyz/_28945
#201: https://govnokod.ru/28948 https://govnokod.xyz/_28948
#202: https://govnokod.ru/28951 https://govnokod.xyz/_28951
#203: https://govnokod.ru/28954 https://govnokod.xyz/_28954
#204: https://govnokod.ru/28971 https://govnokod.xyz/_28971
#205: https://govnokod.ru/28986 https://govnokod.xyz/_28986
#206: https://govnokod.ru/28991 https://govnokod.xyz/_28991
IT Оффтоп #219
#189: https://govnokod.ru/28840 https://govnokod.xyz/_28840
#190: https://govnokod.ru/28875 https://govnokod.xyz/_28875
#191: https://govnokod.ru/28878 https://govnokod.xyz/_28878
#192: https://govnokod.ru/28886 https://govnokod.xyz/_28886
#193: https://govnokod.ru/28911 https://govnokod.xyz/_28911
#194: https://govnokod.ru/28914 https://govnokod.xyz/_28914
#195: https://govnokod.ru/28917 https://govnokod.xyz/_28917
#196: https://govnokod.ru/28925 https://govnokod.xyz/_28925
#197: https://govnokod.ru/28935 https://govnokod.xyz/_28935
#198: https://govnokod.ru/28938 https://govnokod.xyz/_28938
#199: https://govnokod.ru/28942 https://govnokod.xyz/_28942
#200: https://govnokod.ru/28945 https://govnokod.xyz/_28945
#201: https://govnokod.ru/28948 https://govnokod.xyz/_28948
#202: https://govnokod.ru/28951 https://govnokod.xyz/_28951
#203: https://govnokod.ru/28954 https://govnokod.xyz/_28954
#204: https://govnokod.ru/28971 https://govnokod.xyz/_28971
#205: https://govnokod.ru/28986 https://govnokod.xyz/_28986
#206: https://govnokod.ru/28991 https://govnokod.xyz/_28991
#207: https://govnokod.ru/29002 https://govnokod.xyz/_29002
#208: https://govnokod.ru/29060 https://govnokod.xyz/_29060
#209: https://govnokod.ru/29070 https://govnokod.xyz/_29070
#210: https://govnokod.ru/29079 https://govnokod.xyz/_29079
#211: https://govnokod.ru/29092 https://govnokod.xyz/_29092
#212: https://govnokod.ru/29093 https://govnokod.xyz/_29093
#213: https://govnokod.ru/29104 https://govnokod.xyz/_29104
#214: https://govnokod.ru/29114 https://govnokod.xyz/_29114
#215: https://govnokod.ru/29125 https://govnokod.xyz/_29125
#216: https://govnokod.ru/29132 https://govnokod.xyz/_29132
#217: https://govnokod.ru/29147 https://govnokod.xyz/_29147
#218: https://govnokod.ru/29156 https://govnokod.xyz/_29156