Skip to content

Instantly share code, notes, and snippets.

@vasily-kirichenko
vasily-kirichenko / gist:1077364
Created July 12, 2011 03:55
Decorator pattern
public interface Abstraction
{
void Proc();
}
public class Impl1 : Abstraction
{
public void Proc()
{
}
var worker = new Worker();
var anotherClass = new AnotherClass();
worker.WorkDone += anotherClass.WorkDone;
worker.DoWork();
class Worker
{
public event Action WorkDone;
public void DoWork()
var anotherClass = new AnotherClass();
var worker = new Worker(anotherClass);
worker.DoWork();
class Worker
{
private readonly WorkListener _listener;
public Worker(WorkListener listener)
{
@vasily-kirichenko
vasily-kirichenko / gist:1176425
Created August 28, 2011 08:33
Ruby fibonacci
def fib n
if n == 0 || n == 1
n
else
fib(n-1) + fib(n-2)
end
end
40.times do |i|
puts "n=#{i} => #{fib i}"
@vasily-kirichenko
vasily-kirichenko / gist:1176428
Created August 28, 2011 08:34
Python fibonacci
def fib(n):
if n == 0 or n == 1:
return n
else:
return fib(n-1) + fib(n-2)
for i in range(40):
print ("n=%d => %d" % (i, fib(i)))
static void Main()
{
foreach (var i in Enumerable.Range(0, 39))
Console.WriteLine("n={0} => {1}", i, fib(i));
}
static int fib(int n)
{
if (n == 0 || n == 1)
return n;
@vasily-kirichenko
vasily-kirichenko / RoR_with_Haml
Created September 18, 2011 12:38
RoR with Haml rules!
%body
%ul
%li First
%li Second
=link_to "Second", simple_second_path
@vasily-kirichenko
vasily-kirichenko / gist:2837849
Created May 30, 2012 17:40
Factorial in Erlang
factorial(0) -> 1;
factorial(N) when N > 0 ->
N * factorial(N-1).
@vasily-kirichenko
vasily-kirichenko / gist:2837898
Created May 30, 2012 17:46
Fibonacci in Erlang
fib(0) -> 0;
fib(1) -> 1;
fib(N) -> fib(N - 1) + fib(N - 2).
sort([]) -> [];
sort([H|T]) ->
sort([X || X <- T, X =< H]) ++ [H] ++ sort([X || X <- T, X > H]).