Такой же конкатенации, как у строк. Разумеется, без удаления дублирующих, поскольку обычная операция добавления к массиву его не производит.
Перегрузка оператора тут совершенно не при чем, потому что речь идёт о стандартном типе языка. Вы же не жалуетесь на плюс для конкатенации строк, которые суть массивы символов — так почему же такая дискриминация по отношению к массивам объектов?
И, кстати, я предложил на выбор два логичных варианта вменяемой семантики — или конкатенации, или сообщения об ошибке вида «данная операция неприменима к объектам этот типа». Но никак не молчаливое возвращение пустой строки.
Там проблема была в том, что британцы забирали не только своих дезертиров, но и вообще натурализованых из британцев американских моряков — т.е. любого, кто родился как подданый Британии, а потом переехал в США и получил там гражданство. Причем на практике это применялось в основном на торговых судах. А иногда вообще особо не разбирались, и забирали всех, в т.ч. и американцев.
Плюс там был ряд односторонных торговых санкций со стороны Британии для ограничения любой торговли с Францией, а последняя была важным торговым партнером США.
В Majesty вы не покупаете экипировку отдельно взятому бойцу — вы строите для них всякие магазины, где они уже сами выбирают эту экипировку. И даете им деньги за решение каких-то задач.
Вот если бы они сделали краудфандинг для наград за взятие городов: типа такой escrow, куда все скидываются, скажем, «на взятие Алеппо» — а потом по факту оного все выжившие участники получают свою равную долю…
Читаемость и понятность кода зависит и от языка, и от программиста. Если язык плохой, то хорошему программисту приходится больше трудиться, чтобы обойти все грабли и написать хороший код (и, соответственно, у него остается меньше времени на другие задачи).
Мне кажется, это достаточно очевидно. Вы ведь не будете утверждать, что все машины одинаково хорошо ездят, а разница проистекает исключительно от навыков вождения их водителей?
Разумеется, есть хорошие и плохие языки. Если они осмысленно разные, то эта разница в том числе может иметь и такое значение. И имеет. Хороший язык — тот, на котором у среднего программиста получается более читаемый и понятный код. Чем больше в языке часто встречающихся граблей, тем он хуже, особенно если эти грабли не компенсируются фичами или скоростью (как в плюсах).
Электричество — более чем (т.е. на выходе в несколько раз относительно затрат).
Износ сложнее измерить. Но окупаемость на данный конкретный момент — стоимость той самой видеокарты целиком, за месяц. Так что если за месяц она изнашивается не полностью, то износ окупается.
Ну так «скоро» это не «сейчас». Покупать выделенное железо для майнинга — да, глупо. Но если у вас уже есть AMD'шная видеокарта, то вполне можно немного постричь купоны, пока есть окно для такой возможности.
Майнинг сейчас на самом деле вполне реален, просто майнить надо не сам BitCoin, а различные альткоины, которые потом можно конвертировать в BTC, а их уже в кэш. Например, можно майнить LiteCoin- на Radeon 280x со скоростью порядка 700 khash/s в пуле можно иметь один LTC за три дня майнинга, а это 0.036 BTC, или около $38. При этом даже за вычетом электроэнергии и затрат на переводы и конвертации, прибыль получается вполне реальная, порядка пары сотен долларов в месяц.
Разумеется, это при сохранении текущих курсов LTC/BTC и BTC/USD.
Дык я как раз «там» живу. И вы знаете, в среднем здесь в плане законности, коррупции, и всем таком прочем имхо все действительно в разы лучше, чем в «этой стране». Но это не Валинор, да.
>> В любой цивилизованной стране будут адекватные следствие и суд, которые в состоянии установить, кто именно виновен, не гоняясь за показухой и отчетностью. Ну, и еще презумпция невиновности.
Если вы ознакомитесь с практикой применения соответствующих законов в «цивилизлванных странах», то очень неприятно удивитесь. Т.е. теоретически там все так, как вы сказали, но на практике по сути действует «презумпция виновности» при наличии сомнений — и не дай бог это будет суд присяжных.
Обзор темы на Вики — в конце там есть подборка ссылок на конкретные случаи, когда сажали людей, которых потом (иногда — спустя много лет) оправдывали за отсутствием доказательств.
Один из самых известных случаев — «секта педофилов» в графстве Керн в Калифорнии. В общей сложности посадили 36 человек, большинство пожизненно (с типичными для американской юстиции сроками по несколько сотен лет). Из них 34 позже были оправданы — кто-то через 12 лет, кто-то через 20. Двое оставшихся умерли в тюрьме, поэтому некому было подавать на апелляцию.
Увы на сегодня, «педофил» — это одно из двух магических слов, которое напрочь выключает рациональное мышление у 99% граждан любой развитой страны — им можно оправдать практически любую несправедливость (второе подобное магическое слово — «террорист»).
j--, по определению, изменяет существующий объект. Она возвращает новый объект, да — копию j до изменения. Кстати, опять же, из-за этого вы на самом деле сравниваете элемент с самим собой, а не с предыдущим (если забыть про UB с неупорядоченностью выполнения).
Во-первых, у вас глюк — нужно (j-1), а с j-- вы так и будете ходить по этому элементу бесконечно туда-сюда. Плюс вылет за границу, если первый элемент больше десяти. Плюс, кажется, undefined behavior из-за неопределенности порядка выполнения j-- и *j.
Вообще же, все задачи вида "… а предыдущий элемент ..." в языках с zip решаются зипованием последовательности с собой же со сдвигом. Тупо (и медленно, потому что с копированием):
[x for x_prev, x in zip(xs, xs[1:]) if x > 10 and x == x_prev * 2]
Или быстрее с islice, который не копирует, а создает ленивый итератор со сдвигом:
[x for x_prev, x in zip(xs, islice(xs, 1, None)) if x > 10 and x == x_prev * 2]
С какой это стати? Типичная ORM-выборка по связанным объектам транслируется в пачку джойнов. Да что там, в том же LINQ джойны даже явно фигурируют. И транзакции и прочее тоже вполне SQL-подобны.
Я имел в виду — нет возможности организовать рекурсию между этими кусками, во всяком случае, простым образом. Т.е. чтоб кусок регулярки под именем «a» мог сматчить «b», а тот в свою очередь снова «a».
Перегрузка оператора тут совершенно не при чем, потому что речь идёт о стандартном типе языка. Вы же не жалуетесь на плюс для конкатенации строк, которые суть массивы символов — так почему же такая дискриминация по отношению к массивам объектов?
И, кстати, я предложил на выбор два логичных варианта вменяемой семантики — или конкатенации, или сообщения об ошибке вида «данная операция неприменима к объектам этот типа». Но никак не молчаливое возвращение пустой строки.
Плюс там был ряд односторонных торговых санкций со стороны Британии для ограничения любой торговли с Францией, а последняя была важным торговым партнером США.
Вот если бы они сделали краудфандинг для наград за взятие городов: типа такой escrow, куда все скидываются, скажем, «на взятие Алеппо» — а потом по факту оного все выжившие участники получают свою равную долю…
Мне кажется, это достаточно очевидно. Вы ведь не будете утверждать, что все машины одинаково хорошо ездят, а разница проистекает исключительно от навыков вождения их водителей?
На два произвольных объекта ожидаемо было бы получить вменяемое сообщение об ошибке.
Износ сложнее измерить. Но окупаемость на данный конкретный момент — стоимость той самой видеокарты целиком, за месяц. Так что если за месяц она изнашивается не полностью, то износ окупается.
Разумеется, это при сохранении текущих курсов LTC/BTC и BTC/USD.
Если вы ознакомитесь с практикой применения соответствующих законов в «цивилизлванных странах», то очень неприятно удивитесь. Т.е. теоретически там все так, как вы сказали, но на практике по сути действует «презумпция виновности» при наличии сомнений — и не дай бог это будет суд присяжных.
Обзор темы на Вики — в конце там есть подборка ссылок на конкретные случаи, когда сажали людей, которых потом (иногда — спустя много лет) оправдывали за отсутствием доказательств.
Один из самых известных случаев — «секта педофилов» в графстве Керн в Калифорнии. В общей сложности посадили 36 человек, большинство пожизненно (с типичными для американской юстиции сроками по несколько сотен лет). Из них 34 позже были оправданы — кто-то через 12 лет, кто-то через 20. Двое оставшихся умерли в тюрьме, поэтому некому было подавать на апелляцию.
Увы на сегодня, «педофил» — это одно из двух магических слов, которое напрочь выключает рациональное мышление у 99% граждан любой развитой страны — им можно оправдать практически любую несправедливость (второе подобное магическое слово — «террорист»).
Вообще же, все задачи вида "… а предыдущий элемент ..." в языках с zip решаются зипованием последовательности с собой же со сдвигом. Тупо (и медленно, потому что с копированием):
Или быстрее с islice, который не копирует, а создает ленивый итератор со сдвигом:
И что именно кэширует izip?
С какой это стати? Типичная ORM-выборка по связанным объектам транслируется в пачку джойнов. Да что там, в том же LINQ джойны даже явно фигурируют. И транзакции и прочее тоже вполне SQL-подобны.