Ruby
Z RoboCupTP wiki
(→Ruby) |
(→Ruby) |
||
Riadok 7: | Riadok 7: | ||
V Ruby sú implementované high skilly popísané v časti [[Plánovanie_a_vykonávanie_pohybov]], nastavenia čiastočne popísané v časti [[Command_line_argumenty]], registrácia observerov v súbore dependencies.rb, popísaná v časti [[Hlavný_cyklus_agenta]] a plánovače. Skripty v scripts/extensions registrujú niektoré globálne premenné a syntaktické skratky pre zjednodušenie (aj keď niekedy za cenu prehľadnosti) písania skriptov. | V Ruby sú implementované high skilly popísané v časti [[Plánovanie_a_vykonávanie_pohybov]], nastavenia čiastočne popísané v časti [[Command_line_argumenty]], registrácia observerov v súbore dependencies.rb, popísaná v časti [[Hlavný_cyklus_agenta]] a plánovače. Skripty v scripts/extensions registrujú niektoré globálne premenné a syntaktické skratky pre zjednodušenie (aj keď niekedy za cenu prehľadnosti) písania skriptov. | ||
- | Skripty sú spravovné triedou {{libjd|init/Script|Script}}, ktorá vykonáva zadaný kód v metóde execute. V súčasnosti sú všetky volané zo skriptu scripts/boot.rb, ktorá sa vykoná po zavolaní ScriptBoot. | + | Skripty sú spravovné triedou {{libjd|init/Script|Script}}, ktorá vykonáva zadaný kód v metóde execute. V súčasnosti sú všetky volané zo skriptu scripts/boot.rb, ktorá sa vykoná po zavolaní {{jimjd|init/ScriptBoot|ScriptBoot.boot|#boot()}}. Táto istá metóda sa volá aj pri preplánovaní. |
== Plánovacie skripy == | == Plánovacie skripy == |
Aktuálna revízia z 10:31, 14. máj 2012
Späť na Návod
Ruby
Významná časť projektu je napísaná v jazyku Ruby. Konkrétne sa používa jeho implementácia JRuby, ktorá umožňuje jednoduché používanie Java tried. Okrem skriptov, ktoré agent spúšťa sám u neho môže ľubovolný Ruby kód vykonať test framework odoslaním súboru cez TFTP, viď príslušná sekcia v dokumente Komunikácia agenta s test frameworkom.
V Ruby sú implementované high skilly popísané v časti Plánovanie_a_vykonávanie_pohybov, nastavenia čiastočne popísané v časti Command_line_argumenty, registrácia observerov v súbore dependencies.rb, popísaná v časti Hlavný_cyklus_agenta a plánovače. Skripty v scripts/extensions registrujú niektoré globálne premenné a syntaktické skratky pre zjednodušenie (aj keď niekedy za cenu prehľadnosti) písania skriptov.
Skripty sú spravovné triedou Script
, ktorá vykonáva zadaný kód v metóde execute. V súčasnosti sú všetky volané zo skriptu scripts/boot.rb, ktorá sa vykoná po zavolaní ScriptBoot.boot
. Táto istá metóda sa volá aj pri preplánovaní.
Plánovacie skripy
Pôvodne bolo v pláne implementovať zložitejšiu metódu plánovania založenú na postupoch z umelej inteligencie. Agent však nebol v takom stave, aby niečo také bolo reálne možné - neobsahoval dostatok jednotlivých vyšších pohybov, ani sa tieto nedali jednoducho implementovať tak, aby vracali určité výsledky. Preto je plánovanie zatiaľ vykonávané spustením kódu uloženého v Ruby triedach umiestnených v scripts/plan
. Plánovače sú popísané v dokumente Plánovače.
Pre podporu preplánovania by mal v príslušnom Ruby súbore po definícii triedy kód ktorý nejakým spôsobom resetne plánovač. Tento kód sa totiž spustí vždy pri vykonaní celého skriptu, čo sa deje práve pri preplánovaní.