- 1
- 2
- 3
- 4
<?php
§nemyx = "kokoko";
echo §nemyx;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−2
<?php
§nemyx = "kokoko";
echo §nemyx;
Какой анскилл )))
+3
using System;
// Интерфейс места содержит координату его расположения
interface IPlace { long Distance { get; } }
// Интерфейс "двигатель" имеет его мощность
interface IEngine { float Power { get; } }
// Интерфейс Транспорт содержит двигатель и функция расчета времени на путь к определенному месту
interface IVehicle { IEngine Engine { get; } float TimeToTrip(IPlace place); }
// Интерфейс человека, имеющего дом и какой-либо транспорт
interface IPerson { IPlace Home { get; } IVehicle Vehicle { get; } }
// Описываем некоторые классы, реализующие интерфейс места
class Home : IPlace { public long Distance => 0; } // Класс дома, расположенного в начале координат
class Work : IPlace { public long Distance => 100; } // Класс рабочего офиса и расстояние до него
class School : IPlace { public long Distance => 58; } // Класс школы. Она расположена ближе к началу
// Петя -- это рабочий человек, ездящий на работу на автомобиле
class Petya : IEngine, IVehicle, IPerson
{
IVehicle car; // автомобиль
IEngine engine; // двигатель внешнего сгорания
IPlace home; // Петин дом
public float Power => 80f; // максимальная мощность двс в км/ч
public IEngine Engine => engine; // возвращаем двигатель авто
public IPlace Home => home; // возвращаем Петин дом
public IVehicle Vehicle => car; // возвращаем авто как транспорт
// Рассчитываем время, требуемое на путь
public float TimeToTrip(long distance) => distance / Engine.Power;
public float TimeToTrip(IPlace place) => TimeToTrip(place.Distance - home.Distance);
// Конструктор Пети, принимающий транспорт и его двигатель
public Petya(IEngine engine, IVehicle vehicle)
{ car = vehicle; this.engine = engine; }
// Конструктор, задающий Петин дом
public Petya(IPlace place = null)
{ // Если дома нет, создаем его сами
home = place ?? new Home();
car = this; engine = this;
}
}
// Иван -- школьник, он ездит в школу на велосипеде
class Ivan : IEngine, IVehicle, IPerson
{
IVehicle bike; // Ваня ездит на велосипеде
IEngine legs; // в качестве двигателя выступают Ванины ноги
IPlace home; // дом Вани
public float Power => 15f; //максимальная скорость Ваниных ног в к/мч
public IEngine Engine => legs; // возвращаем ноги в виде двигателя
public IPlace Home => home; // возвращаем Ванин дом
public IVehicle Vehicle => bike; // возвращаем велосипед как транспорт
// Рассчитываем время, требуемое на путь
public float TimeToTrip(long distance) => distance / Engine.Power;
public float TimeToTrip(IPlace place) => TimeToTrip(place.Distance - home.Distance);
// Конструктор Вани, принимающий транспорт и его двигатель
public Ivan(IEngine engine, IVehicle vehicle)
{ bike = vehicle; legs = engine; }
// Конструктор, задающий Ванин дом
public Ivan(IPlace place = null)
{ // Если дома нет, создаем его сами
home = place ?? new Home();
bike = this; legs = this;
}
}
class InterfacesLesson
{
// Вспомогательный метод для вывода на экран нужной нам информации
static void PrintInfo(IPerson person, IPlace place)
{
Console.WriteLine("{0} едет из {1} в {2} за {3:f2} ч.",
person, person.Home, place, person.Vehicle.TimeToTrip(place));
}
static void Main()
{
IPlace // Создаем несколько мест
home = new Home(),
work = new Work(),
school = new School();
IPerson // Создаем несколько людей
petya = new Petya(),
ivan = new Ivan(),
egor = new Ivan(school);
// Проверяем, кто за какое время добирается к нужному месту
PrintInfo(petya, home);
PrintInfo(petya, work);
PrintInfo(ivan, school);
PrintInfo(egor, work);
PrintInfo(egor, home);
Console.ReadLine();
}
}
Вот таким примером учат в одном известном ВУЗе интерфейсам...
+1
switch (true)
{
}
0
В "PHP" одинарные кавычки быстрее, чем двойные.
https://habr.com/ru/company/alfa/blog/447416/
Какой анскилл )))
+1
http://pragmaticperl.com/issues/26/pragmaticperl-26-грамматики-в-perl-6.html
:3
Где еще такое может быть то?
0
// table for cart must have unique index for both columns for correct effect of this function
function save() {
if ($this->errno_ || !$this->db_link_)
return;
// optimized loop
$n = count($this->products_) - 1;
$s_query = "REPLACE INTO `". Config::DB_CART_TABLE_NAME ."` VALUES ";
for($i = 0; $i < $n; ++$i) {
$s_query .= "('". $this->phpsessid_ ."',". $this->products_[$i]->getId() .",". $this->counts_[$i] .",'". $this->sizes_[$i] ."')";
}
if ($n + 1)
$s_query .= "('". $this->phpsessid_ ."',". $this->products_[$n]->getId() .",". $this->counts_[$n] .",'". $this->sizes_[$n] ."')";
print($s_query);
$res = mysqli_query($this->db_link_, $s_query);
if (!$res)
$this->errno_ = IModel::E_DB_QUERY;
}
// Запрос сформирован некорректно, нету запятых между кортежами значений:/
// REPLACE INTO `cart` VALUES ('cbn1c7ljjd3gglb2lmpa96grnq3prq2iefb2elvcb4fhr9r0qls1',700,4,'')('cbn1c7ljjd3gglb2lmpa96grnq3prq2iefb2elvcb4fhr9r0qls1',701,2,'')
Опять мой говнокод.
И это как-то србатывало О_о
0
static class MathParser
{
static double getFunc(char op, double a, double b)
{
switch (op)
{
case '+': return a + b; case '-': return a - b;
case '*': return a * b; case '/': return a / b; case '%': return a % b;
case '^': return Pow(a, b); default: return double.NaN;
}
}
static char[][] ops = { new char[] { '+', '-' }, new char[] { '*', '/', '%' }, new char[] { '^' } };
public static double Eval(string str) => Eval(ref str, 0, str.Length);
private static double Eval(ref string str, int z, int l, int i = 0)
{
for (; i < 3; i++)
for (int v = l - 1; v >= z; v--)
for (int j = ops[i].Length - 1; j >= 0; j--)
if (str[v] == ops[i][j])
return getFunc(str[v],
Eval(ref str, z, v, i),
Eval(ref str, v + 1, l, i + 1));
return double.Parse(str.Substring(z, l - z));
}
}
Какой-то укуренный калькулятор получился...
MathParser.Eval("3,1346") => 3.1346
MathParser.Eval("3+2*5") => 13
MathParser.Eval("2^5-1") => 31
MathParser.Eval("1/2^3") => 0.125
MathParser.Eval("2^2^2^2") => 256
MathParser.Eval("7,2%3") => 1.2
+1
#include <stdio.h>
#include <stdlib.h>
void myfree(void *ptr)
{
printf("%p\n", *(void **)ptr);
free(*(void **)ptr);
printf("freed!\n");
}
int main(void) {
char *x __attribute__ (( cleanup (myfree) )) = malloc(1);
printf("%p\n", x);
return 0;
}
https://gcc.gnu.org/onlinedocs/gcc/Common-Variable-Attributes.html
cleanup (cleanup_function)
The cleanup attribute runs a function when the variable goes out of scope. This attribute can only be applied to auto function scope variables; it may not be applied to parameters or variables with static storage duration. The function must take one parameter, a pointer to a type compatible with the variable. The return value of the function (if any) is ignored.
If -fexceptions is enabled, then cleanup_function is run during the stack unwinding that happens during the processing of the exception. Note that the cleanup attribute does not allow the exception to be caught, only to perform an action. It is undefined what happens if cleanup_function does not return normally.
−106
Вы все дураки и не лечитесь
+1
for i in for i in itertools.count():
# ...
if i >= x:
break