- 1
- 2
- 3
- 4
- 5
# сие есть AWK
format = $2
sub(/-.+$/, "", format)
sub(/^.+?:[ \t]?/, "")
output_format[format] = $0
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
# сие есть AWK
format = $2
sub(/-.+$/, "", format)
sub(/^.+?:[ \t]?/, "")
output_format[format] = $0
Какая падла придумала эту функцию?
+1
function natRound() {
var out = []
, fib = [0, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233] // etc
, _data = function() { // random values
var out = []
, count = Math.round( Math.random() * 100)
;
for(var i=0; i < count; i++ ) {
out.push( Math.random() * 100 ); // in km
}
return out.sort(function(a,b){ return a-b; });
}()
, roundTo = function (value) {
var i = fib.length;
while(i--) {
if ( value < fib[i] ) continue;
return i? i: value; // natural sorting
}
}
;
for( var i=0; i<_data.length; i++ ) {
out.push( 'Value: [' + _data[i] + ']; Sort = [' + roundTo(_data[i]) + ']' );
}
return out;
}
Необходимо было учесть дискретность при сортировке расстояний в километрах.
Например, в синтаксисе Elastic это выглядит так:
"ranges" => [
[ "to" => 1 ],
[ "from" => 1, "to" => 3 ],
[ "from" => 3, "to" => 5 ],
[ "from" => 5],
// etc
]
+1
def __repr__(self) -> str:
return f"<User{return ', inactive!' if not self.active else ''} #{self.id} ({self.username}/{self.email})>"
Когда очень хочется использовать красивый f"{ormat}" для строки, но модель БД становится все сложнее...
+3
namespace БиблиотекаКлассов
{
public class Картинки
{
public Vector2 Расположение_ЖивойКартинки;
public Vector2 Расположение_НеЖивойКартинки;
public Texture2D Объект_ЖиваяКартинка;
public Texture2D Объект_НеЖиваяКартинка;
public class ЖивыеКартинки : Картинки
{
private Point Переменная_Номер_Текущего_Кадра;
private int Переменная_Скорость_ЖивыхКартинок;
private double Переменная_ВремяРаботыКадра;
private double Переменная_ВремяОтНачалаРаботыВсехКадров;
private Rectangle Объект_Кадр;
private float Переменная_Поворот_ЖивойКартинки;
private Vector2 Переменная_Центр_Поворота;
private int Переменная_Количество_Строк;
private int Переменная_Количество_Столбцов;
public int Переменная_Ширина_Кадра_ЖивыхКартинок;
public int Переменная_Высота_Кадра_ЖивыхКартинок;
// Метод создания живых картинок с параметрами
public ЖивыеКартинки(int ЗАДАТЬ_Количество_Строк, int ЗАДАТЬ_Количество_Столбцов, double ЗАДАТЬВремяРаботыКадраВСекунду, int ЗАДАТЬ_СкоростьКартинок)
{
Переменная_Количество_Строк = ЗАДАТЬ_Количество_Строк;
Переменная_Количество_Столбцов = ЗАДАТЬ_Количество_Столбцов;
Переменная_ВремяРаботыКадра = (float)1 / ЗАДАТЬВремяРаботыКадраВСекунду;
Переменная_ВремяОтНачалаРаботыВсехКадров = 0;
Переменная_Номер_Текущего_Кадра = new Point(0, 0);
Переменная_Скорость_ЖивыхКартинок = ЗАДАТЬ_СкоростьКартинок;
}
public void Метод_ПереходПоКадрам(double ПройденноеВремя)
{
Переменная_ВремяОтНачалаРаботыВсехКадров += ПройденноеВремя;
if (Переменная_ВремяОтНачалаРаботыВсехКадров > Переменная_ВремяРаботыКадра)
{
++Переменная_Номер_Текущего_Кадра.X;
if (Переменная_Номер_Текущего_Кадра.X >= Переменная_Количество_Столбцов)
{
Переменная_Номер_Текущего_Кадра.X = 0;
++Переменная_Номер_Текущего_Кадра.Y;
if (Переменная_Номер_Текущего_Кадра.Y >= Переменная_Количество_Строк)
{
Переменная_Номер_Текущего_Кадра.Y = 0;
}
}
Переменная_ВремяОтНачалаРаботыВсехКадров -= Переменная_ВремяРаботыКадра;
}
}
public void Метод_КОМП_ДвижениеЖивыхКартинок()
{
}
public void Метод_ЗАГРУЗКА_ЖивойКартинки(ContentManager Переменная_ContentManager, String Переменная_ДляХраненияПутиКартинки)
{
Объект_ЖиваяКартинка = Переменная_ContentManager.Load<Texture2D>(Переменная_ДляХраненияПутиКартинки);
}
// Рисование Картинки
public void Метод_РИСОВАНИЕ_ЖивойКартинки(SpriteBatch Переменная_SpriteBatch, int x) // x - Помогает задать центр поворота картинки
{
Переменная_Ширина_Кадра_ЖивыхКартинок = Объект_ЖиваяКартинка.Width / Переменная_Количество_Столбцов;
Переменная_Высота_Кадра_ЖивыхКартинок = Объект_ЖиваяКартинка.Height / Переменная_Количество_Строк;
if (x != 0)
{
Переменная_Центр_Поворота = Vector2.Zero;
}
if (x == 0)
{
Переменная_Центр_Поворота = new Vector2(Переменная_Ширина_Кадра_ЖивыхКартинок / 2, Переменная_Высота_Кадра_ЖивыхКартинок / 2);
}
Объект_Кадр = new Rectangle(Переменная_Номер_Текущего_Кадра.X * Переменная_Ширина_Кадра_ЖивыхКартинок, Переменная_Номер_Текущего_Кадра.Y * Переменная_Высота_Кадра_ЖивыхКартинок, Переменная_Ширина_Кадра_ЖивыхКартинок, Переменная_Высота_Кадра_ЖивыхКартинок);
Переменная_SpriteBatch.Draw(Объект_ЖиваяКартинка, Расположение_ЖивойКартинки, Объект_Кадр, Color.White, Переменная_Поворот_ЖивойКартинки, Переменная_Центр_Поворота, 1, SpriteEffects.None, 0);
}
}
public class НеЖивыеКартинки : Картинки
{
private Vector2 Переменная_Центр_Поворота;
// private Rectangle Объект_Кадр;
public int Переменная_Ширина_НеЖивыхКартинок;
http://www.gamedev.ru/code/forum/?id=208792
+4
typedef std::map<std::string, WORD> Values;
struct Less {
bool operator()(Values::value_type const& left
, Values::value_type const& right) const {
if (right.second == TEMPERATURE_UNKNOWN
|| left.second == TEMPERATURE_UNKNOWN) {
return false;
}
short const signed_left = *reinterpret_cast<short const*>(&left.second);
short const signed_right = *reinterpret_cast<short const*>(&right.second);
bool const result = signed_left < signed_right;
return result;
}
};
Строки 10 и 11.
20+ опыта в С++ у чувачка.
+2
#include <memory>
#include <list>
struct ListNode;
using List = std::unique_ptr<const ListNode>;
struct ListNode {
const int data;
const List next;
~ListNode()
{
if(!next)
return;
else {
std::list<ListNode*> nodes;
for(auto pn = next.get(); pn->next; pn = pn->next.get()) {
nodes.push_back(const_cast<ListNode*>(pn));
}
for(decltype(nodes)::reverse_iterator in = nodes.rbegin(); in != nodes.rend(); ++in) {
const_cast<List&>((*in)->next).reset();
}
}
}
};
List Cons(int head, List tail)
{
return List(new ListNode{head, std::move(tail)});
}
List Nil()
{
return List();
}
size_t len(const List & self)
{
if (!self) {
return 0;
}
return 1 + len(self->next);
}
#include <iostream>
void test(size_t n)
{
auto p = Nil();
for (size_t i = 0; i < n; ++i) {
auto x = std::move(p);
p = Cons(1, std::move(x));
}
std::cout << "done: " << std::endl;
}
int main()
{
test(131028);
}
односвязный список против джависта
источник: https://www.linux.org.ru/forum/development/11752940?cid=11755489
−137
Если НЕ ЗаполненНаОснованииДокумента Тогда
ИнициализироватьУсловияПродаж();
КонецЕсли;
ИнициализироватьУсловияПродаж();
Чтоб наверняка.
Типовая УТ 11.1.10.94, документ РеализацияТоваровУслуг, модуль объекта, стр.819-822
−104
$ python
Python 3.3.3 (default, Nov 26 2013, 13:33:18)
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 81.5 / (17 * 13) * 50
18.438914027149323
>>> exit()
Кто-нибудь ещё так делает?))
+16
// Lock the write mutex, to provide consistency of data
#define LOCK \
if (_ugb) { \
if (pthread_mutex_lock(&_write_mutex) == EINVAL) \
ASSERT(0); \
}
// Unlock write mutex when data sent
#define UNLOCK \
if (_ugb) { \
if (pthread_mutex_unlock(&_write_mutex) == EINVAL) \
ASSERT(0); \
}
// Пример использования
void socket::add_var(uint16_t code, const void *buffer, uint32_t length)
{
LOCK
try
{
DEBUG_I(Vblock, "Sending code 0x%X of size 0x%X\n", code, length);
send(&code, sizeof(code));
send(&length, sizeof(length));
send(buffer, length);
}
catch (const error & ve)
{
UNLOCK
DEBUG_E(Vblock, "Caught an exception!\n");
throw;
}
catch (...)
{
UNLOCK
}
UNLOCK
}
OK_BOOST_LOCK_A_MUTEX
+8
//список строк
QStringList rows_list = text.split("\n");
uint32_t row=0;
uint32_t col=0;
for(QStringList::iterator itR=rows_list.begin(); itR!=rows_list.end(); itR++,row++)
{
QStringList columns_list=itR->split(";");
col=0;
for(QStringList::iterator itC=columns_list.begin(); itC!=columns_list.end(); itC++,col++)
{
//*itC,row,col
}
}
Человек осилил итераторы в с++...
(для тех, кто не в теме - QStringList имеет доступ по индексу за константное время)
А еще мне нравятся uint32_t вместо int или, на худой конец, quint32.