Smalltalk - praktické cvičení
- spuštění smalltalku
- viz squeak.org nebo pharo.org
- práce s projekty:
- menu (klik na ploše) -> open -> morphic project,
- vlézt do projektu (klik na jeho okně),
- zkusit vylézt (menu -> previous project) a znovu vlézt dovnitř,
- vypnout/zapnout flaps:
- custom menu (na ploše prostřední tlačítko myši nebo levé a pravé současně) -> show shared flaps,
- otevření transcriptu a workspace
- menu -> open -> transcript,
- menu -> open -> workspace,
- na ploše není nic kromě oknen Transcript a Workspace. Lze experimentovat s jejich velikostí, minimalizací, maximalizací.
- experimenty ve workspace (aritmetika, Transcript, multimedia, ...), např:
- 1 + 2 označit myší jako blok, v okně prostřední tlačítko nebo levé a pravé současně -> print it, objeví se výsledek označený jako blok, klávesa delete ho odstraní.
- další pokusy: 100 factorial,
- Transcript show: 'nějaký text'; cr.
- Stopnutí nekonečného/dlouhého výpočtu —> alt-tečka. Lze zkusit např. [ true ] whileTrue: [].
- browser, vytvoření třídy
- menu -> open -> browser
- vytvořit kategorii xname00 (menu->add item),
- vytvořit třídu MojeTrida s instančními proměnnými x, y, z (vyplnit template dole pri vybrane kategorii, potvrdit - alt-S),
- protokol pokus (menu->new kategory...), vytvořit metodu msg: a (vyplnit/nahradit template dole při vybranem protokolu), která provede x := a. Transcript show: a printString; cr.
- testování vytvořené třídy ve workspace - doit (postupně):
- x := MojeTřída new.
- x inspect.
- x msg: 10.
- file out
- vybrat kategorii tříd, prostřední tlačítko myši, file out
- kontrola: v adresáři squeaku se objeví příslušný soubor
- file in
- menu -> open -> file list, filein (předtím odstranit kategorii, aby byl vidět efekt importu)
- ukládání image
- menu -> save and quit, znovu nastartovat
- zkusit si changesets a nástroje pro týmový vývoj (nastudovat samostatně z literatury)
A ještě si zkusit tohle:
- debugging
- vložit self halt, debug, modifikace metody v debuggeru
- ruční modifikace objektu inspektorem
- surfování po referencích mezi objekty
Link to this Page