- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
: %fib
( left right count limit -- result )
2dup u<= if 2drop swap drop exit then
1+ 2swap tuck + 2swap recurse ;
: fib
( n -- n )
1 2 0 -rot 2swap %fib ;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+125
: %fib
( left right count limit -- result )
2dup u<= if 2drop swap drop exit then
1+ 2swap tuck + 2swap recurse ;
: fib
( n -- n )
1 2 0 -rot 2swap %fib ;
Где там ForthGovno?
+125
<a class="buy_btn" href="javascript://228;" onclick="$.l_basket_modify(this.href.replace(/\D+/g, ''), 1);">
<img src="/images/addToBasket.png" alt="Добавить в корзину">
</a>
Сначала привлёк хинт у ссылки при наведении...
+123
@echo off
:start
ping -n 1 <destination>
ping -n 90 127.0.0.1 > NUL 2>&1
GOTO start
http://mybroadband.co.za/vb/showthread.php/122641-How-do-you-set-ping-interval
Попов жив.
+125
slowCallPattern (P: P: P: P: P: P: _) = (fsLit "stg_ap_pppppp", 6)
slowCallPattern (P: P: P: P: P: _) = (fsLit "stg_ap_ppppp", 5)
slowCallPattern (P: P: P: P: _) = (fsLit "stg_ap_pppp", 4)
slowCallPattern (P: P: P: V: _) = (fsLit "stg_ap_pppv", 4)
slowCallPattern (P: P: P: _) = (fsLit "stg_ap_ppp", 3)
slowCallPattern (P: P: V: _) = (fsLit "stg_ap_ppv", 3)
slowCallPattern (P: P: _) = (fsLit "stg_ap_pp", 2)
slowCallPattern (P: V: _) = (fsLit "stg_ap_pv", 2)
slowCallPattern (P: _) = (fsLit "stg_ap_p", 1)
slowCallPattern (V: _) = (fsLit "stg_ap_v", 1)
slowCallPattern (N: _) = (fsLit "stg_ap_n", 1)
slowCallPattern (F: _) = (fsLit "stg_ap_f", 1)
slowCallPattern (D: _) = (fsLit "stg_ap_d", 1)
slowCallPattern (L: _) = (fsLit "stg_ap_l", 1)
slowCallPattern (V16: _) = (fsLit "stg_ap_v16", 1)
slowCallPattern [] = (fsLit "stg_ap_0", 0)
Исходник GHC
https://github.com/ghc/ghc/blob/master/compiler/codeGen/StgCmmArgRep.hs#L120
+124
"(\{\{([#%$])([^:\}]+)(:([^\}]+))?\}\})"
Регуляркоговно.
Заменено на
"(\{\{([#%$])(.+?)(:(.+))?\}\})"
+124
// Просрока быть недолжно.
// Если нет платежа, то будет исключение.
// Оба эти случая логически исключены, если медот не дергать в неположеном месте.
+125
wrs(S):-put_char('\"'), wrsi(S).
wrsi([C|S]):-put_char(C), wrsi(S).
wrsi([]):-put_char('\"').
wrl(S):-put_char('['), wrli(S), put_char(']').
wrli([C|[O|S]]):-wrs(C), put_char(','), wrli([O|S]).
wrli([C]):-wrs(C).
:- wrl(["dog", "cat", "canary"]).
Курю правильные примеры кода на прологе. PrologGovno ждите во всех кинотеатрах страны.
http://ideone.com/L4vIKs
Почему вместо того чтобы пользоваться стандартной функцией вывода списков или строк - автор рекомендует это? Я код правда поправил, а то хаскельных скобок (я уже без них не могу) не было и запятую в конце списка выдавало.
+132
У МИНЯ ЕСТЬ АЙФОН 5 И БАЛЬШОЙ ДОМ В МАЙНКРАВТЕ А ЧИВО ДАБИЛСЯ ТЫ?
Я БАГАТ И УСПЕШОН
+124
#pragma syntax(C++03) // было
int i,j,*pi,&ri=...,ai[10],aai[10][20];
const int ci = 100;
T myFunction (TX x1,TX x2,TY y1,TY ywd=...);
#pragma syntax(C++SD) // стало
var(int) i,j;
var(Ptr[int]) pi;
var(Ref[int]) ri = ...;
var(Array[int,10]) ai;
var(Array[Array[i,20],10]) aai;
var(Immutable[int]) ci = 100;
// отличать от:
const(int) cci = 100; // и cci с рантаймовой точки зрения будет чистой константой, а не "типа неизменяемой переменной"
function(T) myFunction (var(TX) x1,x2; var(TY) y1,ywd=...);
// ^смысл в том, чтобы список параметров имел ту же форму, что декларация переменных и членов структур
// возможны и константные функции
function const(int) constSum (const(int) x1,x2) { return x1+x2; }
// теперь constSum (1,2) будет всё равно что 3
// это теперь заменяет тайпдеф
const(typename) Int32 = int;
#pragma syntax(C++03) // было
class C
{
int mi;
static int si;
private:
float mf;
void privateMethod1 () {...}
void privateMethod2 ();
protected:
void staticMethod1 () {...}
void staticMethod2 ();
public:
virtual void virtualMethod ();
};
int C::si;
void C::privateMethod2 () {...}
void C::staticMethod2 () {...}
void C::virtualMethod () {...}
#pragma syntax(C++SD) // стало
class C
{
// эта секция называется "имплементацией класса"
var(int) mi;
// статические поля в имплементации класса не объявляются
private:
var(float) mf;
function() privateMethod1 () {...}
//void privateMethod2 (); // объявлять методы, который не имплементируются тут же, не обязательно
protected:
function() staticMethod1 (): Static
{...}
// Static - пометка для функции, декларируемой/имплементируемой в имплементации класса,
// что это не метод, а просто функция
public:
virtual function() virtualMethod ();
// в имплементации класса по-настоящему нужна декларация только переменных-полей,
// виртуальных методов и деструктора, если он пишется юзером
// также:
var(int) inlinelyInitialized = 100;
// да, инициализаторы тоже допускаются
};
using (C) var(int) si; // using(C) - пометка, что декларация касается неймспейса C
using (C) private: function() privateMethod2 (): Method {...}
// ^если метод объявляется/имплементируется вне имплементации класса, его
// нужно пометить как Method, чтобы отличить от обычной функции
// using можно юзать и целым блоком...
using (C)
{
protected:
// для функции-неметода вне имплементации класса уточнение Static не требуется
function() staticMethod2 {...}
public:
function() virtualMethod (): Method {...}
}
// глобальный скоп - тоже типа класс, для его явного указания, если вдруг понадобится,
// используется конструкция using (.)
Тот момент, когда понимаешь: "Какая радость, что в создатели стандарта крестов не берут кого попало."
http://www.gamedev.ru/flame/forum/?id=178107
+133
Не поленись, пройди по анкетам и поставь всем минусы.
минуисуя участников, ты помогаешш обществу.