Ruby

Z RoboCupTP wiki
Prejsť na: navigácia, hľadanie

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í.

Osobné nástroje
Menné priestory

Varianty
Operácie
Navigácia
Nástroje