nie mam jak sprawdzic, ale chyba cos takiego powinno byc
[code=ruby]require ‘set’
require ‘inline’
class TheCinline
inline do |builder|
builder.include ‘<stdio.h>’
builder.include ‘<stdlib.h>’
builder.include ‘<time.h>’
builder.c "
int trasa (int cel, int road){
int zarodek=0;
zarodek=time(NULL);
srand(zarodek);
if((road>420) &&(road<441))
road+=1;
else if(road%21==0)
road+=21;
else
{
rand()%2
if(a==0)
road+=1;
else
road+=21;
}
return road;
}"
end
end
class Demotywatory
attr :jedziemy
def jedziemy(cel=441,road=1,a=0,liczydlo=0)
puts(“Norma”)
b=Time.new
grand=Set.new
for i in 0..2000000000
small=Array.new
while(road!=cel)
test=TheCinline.new(cel,road)
small.push(road)
end
grand.add(small)
liczydlo+=1
road=1
if liczydlo==1000
puts(Time.new-b)
end
end
puts("Koniec to#{liczydlo}")
end
end
if FILE == $0
mg=Demotywatory.new
mg.jedziemy
end[/code]
Wielkie dzięki. Jeszcze trochę pokombinowałem i poszło
A optymalizacja jest mi porzebna, bo metodą brute-force mam miliardy różniastych Arrayów wygenerować metodą losowania (taka zabawa, powiedzmy )
Tak, tak, a for in … jest szybsze od #each (https://gist.github.com/229951 ). To się nijak ma do kodu, który robi coś więcej niż wywołuję tę 1 konkretną funkcję. To się nijak ma do 99.9999999% kodu produkcyjnego. A bez profilowania kodu to już w ogóle szkoda sobie zaprzątać głowę takimi pierdołami.