Pokud jste již ztratili původní ostych či jiné zábrany před tím, abyste se ve Squeaku začli hrabal doslova holýma rukama, tak by Vás mohla zajímat následující připomínka:
Metatřídy nemají v systémovém slovníku Smalltalk své reference, ale je možné k nim přistupovat pouze pomocí zprávy class zaslané dané třídě, jejíž metatřídu máme na mušce.
např. String class. "Alt+p"
Vypíše se 'String class'.
Samozřejmě pro pohodlí uživatele-programátora nám Browser (alt+b) nabízí tlačítko class, které nám umožní metatřídu vybrané třídy jednoduše editovat a procházet její rozhraní.
Zde tedy nejčastěji provádíme např. přidání oblíbené zprávy pro konstrukci instance objektu, kterou můžeme pro změnu nazvat 'new' nebo 'vytvor'.
Názory k článku
Squeak: návrat do budoucnosti (5)
Metatřídy
celé vláknoCHYBA!!!
celé vláknoTá "elegatní smyčka" je inak.
Posledný výsledok nie je "Metaclass class", ale "Metaclass".
To by sme dopadli. Všetky metatriedy su inštanciou Metaclass. Aj Metaclass class.
Dva argumenty
celé vláknohraju si se smalltalkem a snazim se prijit na to, jak do jedne metody pridat dva argumenty
scitej: a b (tohle nefunguje, jen pro ukazku)
|soucet|
soucet:=a+b.
Transcript show: soucet.
Muzete mi nekdo pomoct? Predem diky...
Re: Dva argumenty
celé vláknoJe to jednoduche :)
scitej: prvyScitanec s: druhyScitanec
Transcript show: (prvyScitanec + druhyScitanec).
Su tri druhy metod v ST - unarne, binarne a keyword. Unarne su bez parametra (ako napr #factorial pri triede Number), binarne je klasicke #+ a keyword su prave tie co som popisal - seria klucovych slov. Tych slov moze byt viacero, aj ked viac ako 5 sa povazuje za chybu designu. Keyword metody sa deklaruju takto:
keyWord1: parameter1 keyWord2: parameter2 ... keyWordN: parameterN
Aj ked si nejako neviem predstavit v akej triede by bola pouzita horeuvedena funkcia... :)

