- 1
https://m.vk.com/wall-30666517_1672469
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
https://m.vk.com/wall-30666517_1672469
Из исходников и документации Go убрали фразы whitelist/blacklist и master/slave.
Всё из-за протестов, которые сейчас проходят в Америке.
Фразы «blacklist» и «whitelist» заменили на «blocklist» и «allowlist», а «master» и «slave»
в зависимости от контекста на «process», «pty», «proc» и «control».
Отмечается, что изменения не приведут к нарушению обратной совместимости и путанице, так как
большая часть исправлений приходится на комментарии, тесты и внутренние переменные.
−2
Беглый клиент (рассказ старого брадобрея).
Странная таки оказия приключилась со мной.
В полдевятого я, как обычно, пришел в свою цирюльню и принял первого клиента - пожилого китайца, с косичками за спиной и на подбородке.
-Пожалуйте, господин, - я усадил его в кресло, гладко выбрил, поправил косичку и пошел за одеколоном.
Когда я принес пульверизатор то увидел, что кресло опустело; хитрый китаец воспользовался моим отсутствием и вероломно
ускользнул.
-Ай, мерзавец, а платить?..
Я кое-как выскочил - сил нет в старых ногах, но скоро догнал беглеца (он не очень-то и спешил), поравнялся с ним и тронул за рукав.
Китаец остановился и спокойно обернулся. На лице у него была широкая улыбка. Я потребовал платы.
Тогда китаец перестал улыбаться и взвизгнул на ломаном немецком языке: "не нарушай дистанцию!", - и поднял руки.
Тут же заверещал свисток... Ко мне подошел полицай и велел отойти от китайца.
Пришлось мне уйти ни с чем... Ненавижу узкоглазых!..
Мда. Пиздец, что уж тут скажешь.
0
#lang racket
(require racket/syntax)
(define-syntax (_total stx)
(syntax-case stx ()
[(_total item price amount)
(let ([make-id
(lambda (template . ids)
(let ([str (apply format template (map syntax->datum ids))])
(datum->syntax stx (string->symbol str))))])
(with-syntax ([total-item-price (make-id "~a-price" #'item)]
)
#'(begin
(total-item-price price amount)
)))]
)
)
(define-syntax-rule (total item price amount)
(cond [(eq? item 'apple) (_total apple price amount)]
[(eq? item 'grape) (_total grape price amount)]
[else (_total general price amount)]
)
)
(define (apple-price price amount)
(* price (- amount (/ amount 2)))
)
(define (grape-price price amount)
(* price (if (> amount 1) (/ (* amount 4) 5) amount))
)
(define (general-price price amount)
(* amount price)
)
(define apples '(apple 10 4))
(define grapes '(grape 20 3))
(define other '(peach 30 1))
(foldl (λ (lst result)
(+ result (total (car lst) (cadr lst) (caddr lst)))
)
0
(list apples grapes other)
)
Когда у тебя есть macroмолоток, всё остальное кажется гвоздями.
0
#include "courseparser.h"
courseParser::courseParser()
{
}
courseParser::courseParser(QString &XMLFilePath)
: _XMLFilePath(XMLFilePath)
{
startParsing();
}
void courseParser::startParsing()
{
qDebug() << "Start working with xml";
try {
QFile _XMLFile(_XMLFilePath);
QXmlStreamReader _XMLReader(&_XMLFile);
if (_XMLFile.open(QIODevice::ReadOnly))
{
parseXml(_XMLReader);
_XMLFile.close();
} else
{
throw error::FileNotFound;
}
} catch (error causedError) {
emit somethingWentWrong(causedError);
}
qDebug() << "Finish working with xml";
}
void courseParser::parseXml(QXmlStreamReader &XMLReader)
{
qDebug() << "Start parsing xml";
while(!XMLReader.atEnd())
{
QString elementBuffer;
QString content;
XMLReader.readNext();
_actualToken = XMLReader.tokenString();
elementBuffer = XMLReader.name().toString();
_actualElement = (elementBuffer == "") ? _actualElement : elementBuffer;
content = XMLReader.text().toString();
checkToken();
switch (_tokens.indexOf(_actualToken)) {
case 0:
processStartElement();
break;
case 1:
processCharacters(content);
break;
case 2:
processEndElement();
break;
default:
break;
}
}
qDebug() << "Finish parsing xml";
}
void courseParser::checkToken()
{
if (!_tokens.contains(_actualToken))
throw error::CorruptedFile;
}
void courseParser::checkElement()
{
if (!(_elements.contains(_actualElement) || _subElements.contains(_actualElement)))
throw error::CorruptedFile;
}
void courseParser::processStartElement()
{
checkElement();
switch (_elements.indexOf(_actualElement)) {
case 0: _course = new course();
qDebug() << "\tNew course created!";
break;
case 1: _lesson = new lesson();
qDebug() << "\tNew lesson created!";
break;
case 2: _test = new test();
qDebug() << "\tNew test created!";
break;
̶Н̶а̶с̶р̶а̶л̶ сделал типо "парсер".
На сколько дерьмово получилось?
+1
struct Ololo: Comparable {
let value: Int
static func < (lhs: Ololo, rhs: Ololo) -> Bool {
return lhs.value < rhs.value
}
static func < (lhs: Ololo, rhs: Ololo) -> String {
if lhs.value < rhs.value {
return "LESS"
} else if lhs.value > rhs.value {
return "MORE"
} else {
return "EQUAL"
}
}
}
let ololo1 = Ololo(value: 100)
let ololo2 = Ololo(value: 200)
let bool: Bool = ololo1 < ololo2
let string: String = ololo1 < ololo2
А в плюсах можно в operator> любую херь вернуть © jojaxon
Наверное, я поторопился, когда сказал, что крестобляди будет в свифте тесно.
+2
nameState() {
return this.name.length > 2 ? true : false
}
Из документации Bootstrap Vue
https://bootstrap-vue.org/docs/components/form-input#contextual-states
+3
#include "gc.h"
static bool PointerNotOwnedByParentStackFrame(struct StackFrame *frame,
struct StackFrame *parent,
void *ptr) {
return !(((intptr_t)ptr > (intptr_t)frame) &&
((intptr_t)ptr < (intptr_t)parent));
}
/**
* Adds destructor to garbage shadow stack.
*
* @param frame is passed automatically by wrapper macro
* @param fn takes one argument
* @param arg is passed to fn(arg)
* @return arg
*/
void __defer(struct StackFrame *frame, void *fn, void *arg) {
struct StackFrame *frame2;
if (!arg) return;
frame2 = __builtin_frame_address(0);
assert(frame2->next == frame);
assert(PointerNotOwnedByParentStackFrame(frame2, frame, arg));
if (append(&__garbage, /* note: append() not included */
(&(const struct Garbage){frame->next, (intptr_t)fn, (intptr_t)arg,
frame->addr})) != -1) {
frame->addr = (intptr_t)&__gc;
} else {
abort();
}
}
deferы в Сищечке
https://gist.github.com/jart/aed0fd7a7fa68385d19e76a63db687ff
0
https://www.facebook.com/FBE/videos/258830962097696/UzpfSTExNzQ4ODY0MjI6ODAzNDE1NzEwMDYyMjcw/
+1
https://infostart.ru/public/72175/
1C.Net:Предприятие + DirectX = 3D-графика на формах 1С:Предприятие
Зачем? Зачем?
+1
namespace Test;
/**
* MyTest (test/mytest.zep)
*/
class MyTest
{
public function someMethod()
{
/* Variables must be declared */
var myArray;
int i = 0, length;
/* Create an array */
let myArray = ["hello", 0, 100.25, false, null];
/* Count the array into a 'int' variable */
let length = count(myArray);
/* Print value types */
while i < length {
echo typeof myArray[i], "\n";
let i++;
}
return myArray;
}
}
Язык программирования «Зефир».
https://docs.zephir-lang.com/0.12/en/introduction