2010
03.28


class BudincăDeGriş extends Prăjitură {
    ArrayList Ingrediente = new ArrayList();
    public BudincăDeGriş(int NrPorţii) throws Exception, PrajiturăTerminată
    {
        Griş griş;
        Lapte lapte;
        Zahăr zahărTos, zahărPudra, zahărVanilat;
        Unt unt;
        CoajăLămâie coajăLămâie;
        OuăCollection ouă;
        
        griş = new Griş(150, SI.GRAM);
        lapte = new Lapte(1, SI.LITRU);
        unt = new Unt(100, SI.GRAM);
        zahărTos = new ZahărTos(3, Units.LINGURĂ);
        zahărPudră = new ZahărPudră(150, SI.GRAM);
        zahărVanilat = new ZahărVanilat(1, Units.LINGURĂ);
        for (int i = 0; i < 4; i++) {
            ouă.add(new Ou());
        }
    
        Ingrediente.add(griş);
        Ingrediente.add(lapte);
        Ingrediente.add(unt);
        Ingrediente.add(coajăLămâie);
        Ingrediente.add(zahărTos);
        Ingrediente.add(zahărPudră);
        Ingrediente.add(zahărVanilat);
        Ingrediente.addAll(oua);
        
        Ingrediente.trimToSize();
        
        do {
            Aragaz.Fierbe(lapte, Foc.MEDIU);
        } while (lapte.Temperatura < 100);
        
        lapte.add(griş);
        
        do {
            lapte.Amesteca();
        } while (!lapte.aFiert());
        // laptele cu griş se lasă să se răcească
        lapte.Racire();
        
        Gălbenuş gălbenuş = ouă.Separă(Ou.GĂLBENUŞ);
        Albuş albuş = ouă.Separă(Ou.ALBUŞ);
        
        zahărTos.add(gălbenuş);
        zahărTos.Freacă();
        
        albuş.BateSpuma();
        
        // containerul pentru tot amestecul
        Cratiţă cratiţă = new Cratiţă;
        cratiţă.Unge(unt);
        cratiţă.add(zahărTos);
        cratiţă.add(lapte);
        cratiţă.add(zahărVanilat);
        cratiţă.add(albuş);
        cratiţă.add(coajăLămâie);
        
        try {
            Cuptor.Coace(cratiţă, Foc.MEDIU);
        } catch (CuptorCoacereException e) {
            // când procesul de coacere s-a terminat
            cratiţă.add(zahărPudră);
            throw new PrăjiturăTerminatăException(cratiţă);
        }
    }
    
}

try {
    BudincăDeGriş b = new BudincăDeGriş(4);
} catch (Exception e) {
    System.out.println(e.getMessage());
} catch (PrăjiturăTerminată p) {
    System.out.println("Poftă bună");
}
// JCook v0.1 beta

2010
03.28

Povestea apei îmbuteliate

2010
03.18

Pocăiţi

2009
10.30

Despre virgula mobilă în PHP

Dacă v-a trecut vreodată prin minte să folosiţi PHP-ul ca să simulaţi nişte reacţii nucleare, să calculaţi ecuaţia lui Drake, să calculaţi o limită când n tinde spre infinit sau (de ce nu?) să codaţi o parte a unei aplicaţii de telefonie VoIP :) vă sugerez să faceţi un duş rece, să vă daţi două palme zdravene (sau să rugaţi pe cineva să vi le dea) şi, evident, să vă mai gândiţi înca o dată.

Am să fac o mică paranteză pentru a aminti de o foarte amuzantă paralelă facută între mai multe “limbaje de programare” şi o serie de “ambarcaţiuni”. Articolul se intitulează “If a programming language was a boat…” si poate fi accesat aici.

Un mic “experiment” de acum câteva zile m-a făcut să înţeleg ŞI mai bine ce l-a determinat pe autorul articolului respectiv să facă acea asociere a PHP-ului cu o plută de bambus.

Priviţi şi vă amuzaţi! :)

$var = (int) ((0.1 + 0.7) * 10)
echo $var;    // 7

$var = 20.1 * 10;
var_dump($var);    // float(201)
var_dump(floor($var));    // float(200)

$var = (0.30 - 0.25) * 100;
var_dump($var);    // float(5)
for ($i = 1; $i <= $var; $i++) {
echo $i;
}
// 1234

2009
10.29

Salutare lume!

De parcă noi nu am putea să spunem ‘Hello World!’ pe limba noastră.

În construcţie…