Agena

Szoftver screenshot:
Agena
Szoftver adatai:
Változat: 2.11.5 Frissítve
Feltöltés dátuma: 22 Jun 18
Fejlesztő: Alexander Walz
Engedély: Ingyenes
Népszerűség: 23

Rating: nan/5 (Total Votes: 0)

Az Agena egy nyílt forráskódú, ingyenes, többplatformos és könnyen tanulható eljárási programozási nyelv, amelyet mindennapi használatra terveztek. Használható grafikus, tudományos, nyelvi és oktatási környezetekben, valamint szkriptalkalmazásokban, amelyek támogatják az összes mainstream operációs rendszert.


Számos áramlásszabályozó berendezést kínál

Az alkalmazás számos áramlásszabályozó berendezést kínál, például ha, akkor. elif, egyéb feltételek, esetek és egyéb feltételek, az operátor, numerikus, hurokra és hurokra, kombinált numerikus hurokra és ciklusokra, hurkokra és hurokra, hurokra és hurokra, átugrásra, szünetre nyilatkozatot, valamint az adattípus-érvényesítést.


Számlálási feladatokat biztosít

A többi funkció közül megemlíthetjük az önkényes precíziós matematikai könyvtárat, a személyes környezet egyszerű konfigurálhatóságát, az egyszerűen használható csomagrendszert, a számlálási feladatokat, az alkalmazási kört a kulcsszavakkal és számos egyéb vonzó tulajdonsággal.

A kapucnival és a rendelkezésre állás alatt

A motorháztető alatt egy gyors pillantás megmutatja nekünk, hogy a projekt a C, BASIC, Lua és ALGOL 68 programozási nyelvekben van írva, ami azt jelenti, hogy a szintaxisa hasonlít ezeknek a projekteknek a szintaxisára. Ez teljesen konzol / terminál környezetben fut, ami azt jelenti, hogy nincs grafikus felhasználói felület (GUI).


Egyszerű szerkesztővel szállítja

Annak ellenére, hogy az Agena szoftver parancssori alkalmazás, egy egyszerű szerkesztőgépprogrammal, az AgenaEdit programmal szállítható, amely integrált Agena környezetet és szintaxiskiemelő képességeket tartalmaz. Erősen ihlette egy hasonló szerkesztő, Bill Spitzak, az FLTK platformon keresztüli C ++ GUI eszköztár számára.


Raspberry Pi-n dolgozik

Az Agena grafikus képességeit a GNU / Linux, a Solaris, a Mac OS X, a Microsoft Windows, az eComStation - OS / 2 és a DOS operációs rendszerek támogatják. Mind a 64 bites, mind pedig a 32 bites hardveres platformokon könnyen telepíthető, és sikeresen tesztelték az ARM alapú Raspberry Pi számítógépes táblán.

Újdonság ez a kiadás:

  • új Kalkulus és statisztika funkció

Újdonság a verzióban:

  • új számítási és statisztikai funkció

    • Új Kalkulus és Statisztika funkció

    Újdonság

    • Új Kalkulus és Statisztika funkció

    Újdonság

    • Új Kalkulus és Statisztika funkció

    Újdonság

Újdonság a 2.6.1-es verzióban:

  • A `stats.chauvenet` az alsó vagy a felső kiugrók az "outlier =" lower "vagy" outlier = "upper" opció átvezetésével.

  • A
  • `bags.remove` okozta szegmentációs hibákat. Ezt rögzítették. Ezenkívül a C-ben végrehajtott "zsák" funkciókat belsőleg megváltoztatták.
  • A `+`, `-` és` * `(nem dokumentált) metamodulák nem működtek, ha a` `````` `vagy` `import / alias` 'kifejezést nem hívták be. Ez rögzült.

Újdonság a 2.5.4-es verzióban:

  • A stats.chauvenet mostantól az alsó vagy a felső kiugró értékeket az "outlier =" lower "vagy" outlier = "upper" opció átveheti.

  • A
  • `bags.remove` okozta szegmentációs hibákat. Ezt rögzítették. Ezenkívül a C-ben végrehajtott "zsák" funkciókat belsőleg megváltoztatták.
  • A `+`, `-` és` * `(nem dokumentált) metamodulák nem működtek, ha a` `````` `vagy` `import / alias` 'kifejezést nem hívták be. Ez rögzült.

Újdonság a 2.5.3-as verzióban:

  • A `stats.chauvenet` az alsó vagy a felső kiugrók az "outlier =" lower "vagy" outlier = "upper" opció átvezetésével.

  • A
  • `bags.remove` okozta szegmentációs hibákat. Ezt rögzítették. Ezenkívül a C-ben végrehajtott "zsák" funkciókat belsőleg megváltoztatták.
  • A `+`, `-` és` * `(nem dokumentált) metamodulák nem működtek, ha a` `````` `vagy` `import / alias` 'kifejezést nem hívták be. Ez rögzült.

Újdonság a 2.4.2-es verzióban:

  • A stats.chauvenet mostantól az alsó vagy a felső outliert az "outlier =" lower "vagy" outlier = "upper" opció átvitelével ellenőrizheti.

  • A
  • `bags.remove` okozta szegmentációs hibákat. Ezt rögzítették. Ezenkívül a C-ben végrehajtott "zsák" funkciókat belsőleg megváltoztatták.
  • A `+`, `-` és` * `(nem dokumentált) metamodulák nem működtek, ha a` `````` `vagy` `import / alias` 'kifejezést nem hívták be. Ez rögzült.

Az újdonság a 2.3.0 RC1 verzióban:

  • A numerikus `for` hurkok most támogatják a 'downto' kulcsszót, így számlálhatsz le egy kötelező negatív` by` lépésméret használata nélkül. A `downto 'kontextusban a' by 'lépésméretnek mindig pozitívnak kell lennie. A "start" és a "stop" értékek kötelezőek a `downto 'kulcsszó használatakor.
  • A "__finite", "__entier" és a "__sqrt" metamodulok már nem támogatottak. Ehelyett három új metatódát hoztak létre a struktúrák műveleteihez: "__union" a szakszervezeti műveletekhez, "__intersect" a kereszteződések meghatározásához, és a "__minus" a különbségekhez. Így a `` táskák '' csomag is támogatja ezt a három műveletet.
  • A `` egész osztott operátor nem támogatta a metametódját, és helyettesítette az úszóosztást (`/` operátort). Ez rögzült.
  • Az új `stats.gini` függvény meghatározza a Gini-együtthatót, az egyenlőtlenség mértékét.
  • Az új `stats.zscore` függvény egy olyan függvényt ad vissza, amely a minta z-pontszámát (standard pontszámot) kiszámítja - a minta átlagos eltéréseinek száma a disztribúció átlag felett vagy alatt.
  • A `stats.sorted` alapértelmezés szerint az Introsort algoritmust használja Quicksort helyett. Ez háromszor gyorsíthatja a számítási időt rosszul kondicionált helyzetekben (ahol a Quicksortnak O (n ^ 2) műveletekre lenne szüksége), miközben nem szokásos helyzetekben feláldozza a teljesítményt. Valójában az Introsort alapértelmezés szerint a Quicksortot használja, majd automatikusan átvált Heapsortra, ha a rekurzió mélysége eléri a 2 * logot (n, 2), ahol n az elemek számát egy struktúrában.
  • Lehet, hogy felülírja ezt a logikát azzal, hogy átadja az új "quicksort" opciót, amely kizárólag a hagyományos rekurzív Quicksort módszer használatával rendezi a számokat. Az 'stats.sorted' most is használhatja a Heapsort algoritmust, ha az új "heapsort" opciót átadják, és a Niklaus Wirth által létrehozott nem rekurzív Quicksort algoritmust a "nrquicksort" új opcióval.
  • Az új `stats.meanmed` függvény mind az aritmetikai átlagot, mind a disztribúció mediánját, vagy pedig az átlag és a medián hányadosát adja vissza, felgyorsítja a számítási időket, amikor ezek az értékek kb. 20 százalékkal szükségesek.
  • Javította a `size` operátor hibaüzenetét.

Újdonság a 2.1.1 verzióban:

  • Új funkciók és javítások:
  • `try / catch`: a hiba változó pontos leírása közvetlenül a` catch` token után opcionális. Ha nincs megadva hiba változó, akkor a hibaüzenet automatikusan a helyi `lasterror` változóba kerül, és az 'then` kulcsszó ki kell hagyni:
  • & gt; próbálja
  • & gt; hiba ("oops!")
  • & gt; fogni
  • & gt; print (lasterror)
  • & gt; yrt;
  • Hoppá!
  • A `try / catch` utasítás néha nem működött az eljárásokban (nem hozzárendelt hiba változó). Ez rögzült.
  • Az új `net.wget` funkció letölti a HTML oldalakat az internetről.
  • 10% -kal hangolt "skycrane.counter". A függvény most opcionálisan alkalmazza a Kahan-Ozawát az eredeti Kahan összegzési algoritmus helyett, ha az új harmadik argumentum az 'ozawa' karakterlánc. A megfelelő C forrásokat úgy módosították, hogy megakadályozzák a fordítóoptimalizációt, ami megszünteti az optimalizálást is.
  • Az `argerror` most kinyomtatja a felhasználó által megadott típusú nevét a kapott hibaüzenetben. Ha egy érték nem rendelkezik felhasználó által definiált típussal, akkor az alap típusa kiadásra kerül.
  • Az új 'a' opció a `debug.getinfo` -ra a Rob Hoelz 'LuaPowerPatch-nak köszönhetően visszaadja az eljárás által várt érvek számát.
  • Javított `index out-of-range` hibaüzenet a karakterláncokhoz.
  • Módosította a `stats.agn`,` linalg.agn`, `library.agn` és` ansi.agn` fájlokat a hibakezeléssel kapcsolatban.

Újdonság a 2.1.0 verzióban:

  • Az újfajta hibakezelés érdekében az új `try / catch` utasítást vezettük be. Ezt Hu Qiwei találtatta ki és írták le a Lua 5.1-re 2008-ban.
  • Általánosságban elmondható, hogy minden olyan állítás, amelyre kivétel lehet számítani, egy "try" kifejezésre bocsátható. Ha hibát ad ki, amelyet kifejezetten a "hiba" függvény vagy bármely más kifejezés, funkció vagy utasítás által generált hiba generál, az ellenőrzés azonnal ugrik a megfelelő "catch" kifejezésre, ha jelen van, vagy a `try / yrt `statement, ha nem kaptunk` catch` záradékot, figyelmen kívül hagyva a `try` clause bármely más következményét.
  • A `protect / lasterror` hibaüzenetek továbbra is működnek és mindig támogatottak lesznek. Az új vezérlő utasítás a hibák törlése, átugrása, visszaállítása és visszaállítása esetén is hibátlanul működik.
  • Az új `redo` utasítás újraindítja a` for / to` és `for / in` ciklus aktuális iterációját a kezdetektől.
  • Az új `recip` operátor egy x szám inverzét adja vissza. Ez egyenértékű az 1 / x kifejezéssel, de gyorsabb.
  • Az új `stats.ema` függvény kiszámítja az eloszlás exponenciális mozgó átlagát. Az 'stats.gema` új funkció egy iterátor függvényt ad vissza, amely visszaadja a disztribúció megfelelő exponenciális mozgóátlagát.
  • `*%`, `+%` és `-%` a helyes eredmény helyett `undefined` visszakerültek, ha a jobb operandusuk nulla volt. Ez rögzült.
  • Javított hibaüzenetet a `net.survey` -ban.
  • Javított hibaüzenetek a párok és a karakterláncok nem tartományos indexeléséhez.
  • Az ANSI, a Solaris és a DOS verziókban az int` operátor hangolt.
  • Az új "agn_arraytoseq" C API függvény egy sorszámú tömböt konvertál egy sorozathoz és az új sorozatot a verem tetejére tolja.
  • A kézikönyv frissítése.

Az újdonság a 2.1.0-es RC verzióban:

  • Az új `redo` utasítás újraindítja a` for / to` és `for / in` ciklus aktuális iterációját a kezdetektől. Példa:
  • & gt; zászló: = igaz; & Gt; mivel j [10, 11, 12]> & gt; nyomtatás ('előtt', j, flag); & Gt; ha zászló és j = 11, akkor> tiszta zászló; & Gt; print ('- & gt;', j, flag, 'jump back') & gt; redo & gt; fi; & Gt; nyomtatás ('után', j, flag) & gt; amíg j> 12; előtt 10 igaz után 10 igaz előtt 11 igaz - & gt; 11 hamis ugrás előtt 11 hamis után 11 hamis előtt 12 hamis után 12 hamis
  • Az új `recip` operátor egy x szám inverzét adja vissza. Ez egyenértékű az 1 / x kifejezéssel, de gyorsabb.
  • Az új `stats.ema` függvény kiszámítja az eloszlás exponenciális mozgó átlagát. Az új `stats.gema` függvény egy iterátor függvényt ad vissza, amely visszaadja az eloszlás megfelelő exponenciális mozgó átlagát. Használatához kérjük, tekintse meg az src / stats.c forrásfájlt, a C függvényeket * ema.
  • `*%`, `+%` és `-%` a helyes eredmény helyett `undefined` visszakerültek, ha a jobb operandusuk nulla volt. Ez rögzült.
  • Javított hibaüzenetet a `net.survey` -ban.
  • Az új "agn_arraytoseq" C API függvény egy numerikus tömböt konvertál egy sorozathoz, és az új sorozatot a verem tetejére tolja.

Az újdonság a 2.0.0 verzióban:

  • Új kijelentések és funkciók:
  • Az Agena 2.0 lefelé kompatibilis az Agena 1.12-vel, kivéve, hogy a tokenek `import`,` alias `,` until` és `onsuccess` most kulcsszavak és nem használhatók változóként. Jelenleg léteznek a 2.0-re elérhető Solaris, Debian (x86, PowerPC, Raspberry Pi), Windows, Mac és DOS telepítők, beleértve egy frissített Primer és Reference-t, amely részletesen bemutatja az új funkciókat.
  • A "for / as" és a "for / until" új hurokváltozatok az aktuális iteráció végén egy állapotot ellenőriznek, vagy elindítják a következő iterációt vagy elhagyják a hurkot. Ez mind a `for / to`, mind a` for / in` hurkoknál működik. Valójában mindkét változat legalább egy alkalommal végrehajt egy hurkot, amíg az adott állapot ellenőrzése meg nem történik.
  • Példák:
  • & gt; i-től 5-ig
  • & gt; print (i)
  • & gt; mint i < 3
  • & gt; mert i [1, 2, 3, 4, 5] esetén
  • & gt; print (i)
  • & gt; amíg i & gt; = 3
  • Az új `do / till` hurok addig tart, amíg egy bizonyos feltétel teljesül:
  • & gt; c: = 0;
  • & gt; do
  • & gt; inc c;
  • & gt; print (c)
  • & gt; amíg c & gt; = 3
  • A numerikus `for` hurkoknál a` to` clause nem adható tovább. Ehelyett a `to` clause elhagyásakor a hurok addig megy, amíg a platformon megjelenő legnagyobb szám, a C HUGE_VAL elérte:
  • & gt; nekem csinálom
  • & gt; print (i)
  • & gt; od
  • Az "if` és` case` utasítások új "onsuccess" záradéka végrehajt egy darabot, ha legalább az egyik feltétel igaz. Példák:
  • & gt; zászló: = hamis;
  • & gt; ha 1 = 0 akkor
  • & gt; print (0)
  • & gt; elif 1 = 1 majd
  • & gt; print (1)
  • & gt; onsuccess
  • & gt; zászló: = true
  • & gt; mást
  • & gt; print (-1)
  • & gt; fi;
  • & gt; print (zászló);
  • true
  • & gt; zászló: = hamis;
  • & gt; ha 1 = 0 akkor
  • & gt; print (0)
  • & gt; elif 1 = 0 majd
  • & gt; print (1)
  • & gt; onsuccess
  • & gt; zászló: = true
  • & gt; mást
  • & gt; print (-1)
  • & gt; fi;
  • & gt; print (zászló);
  • false
  • & gt; zászló: = hamis;
  • & gt; a: = 2;
  • & gt; eset a
  • & gt; 1-től, akkor
  • & gt; print (1)
  • & gt; 2-ből, majd
  • & gt; print (2)
  • & gt; onsuccess
  • & gt; zászló: = true
  • & gt; mást
  • & gt; print (-1)
  • & gt; esac;
  • & gt; print (zászló);
  • true
  • Az új `import` utasítás lehetővé teszi egy vagy több könyvtár importálását, anélkül, hogy nevüket idézőjelek közé rendelték volna, pl. "import calc, stats" egyenértékű a readlib ('calc', 'stats') "értékkel.
  • Az `import 'utasítás` alias` opciója hozzárendel egy vagy több rövid nevet az inicializált könyvtárfunkciókhoz, pl. "import calc alias xpdiff" megegyezik a "with (" calc "," xpdiff ")" és a "import calc alias" egyenértékű a "with ('calc')" értékkel.
  • Az új `..` operátor lehetővé teszi az asztalok indexelését, még akkor is, ha a bal oldali operandus értéke` null 'értékre változik. Ebben az esetben a `null` -t visszaadják, és nem próbálják indexelni a mezőt (null értékű) hibát. Hasonló a getentry funkcióhoz, de háromszor gyorsabb. Példák:
  • & gt; táblázat létrehozása;
  • & gt; A. B:
  • null
  • & gt; a.b.c:
  • Hiba a stdinben, az 1. sorban:
  • próbálja indexelni a `b` (null érték) mezőt
  • & gt; a..b..c:
  • null
  • & gt; táblázat létrehozása;
  • & gt; egy [1]:
  • null
  • & gt; egy [1] [2]:
  • Hiba a stdinben, az 1. sorban:
  • megpróbálja indexelni a `?` mezőt (null értéket)
  • & gt; egy .. [1] .. [2]:
  • null
  • Az új `drem` függvény az x / y egész számosztály fennmaradó részét értékeli, de ellentétben az` irem` -gal, a belső hányados x / y a legközelebbi egész számra fordítja ahelyett, hogy nulla helyett.
  • Az új `skycrane.todate` funkció az aktuális dátumot és időt formázott karakterláncként adja vissza.
  • Az új `io.truncate` függvény egy fájlt a jelenlegi fájlpozícióban csonkítja le.
  • Az új `io.move` függvény megváltoztatja a fájl pozícióját egy adott számú karaktert balra vagy jobbra.
  • Az új `io.filesize` függvény visszaadja a fájl méretét.
  • A readlib most csak a karakterláncokat fogadja el érvként. A számok többé nem engedélyezettek.
  • Ha a `with` utolsó argumentum a Boolean` false`, akkor a függvény nem ír ki hozzárendelt rövid neveket a konzolhoz (stdout).

  • A
  • `strings.fields` szintén elfogad egy indexszámot. Nem fogadja el azonban a "0" indexet.
  • A Raspberry Pi Wheezy Debian telepítő most tartalmazza a `gdi` grafikus csomagot.
  • A `change.log` fájl helyesen jelenik meg a Windows alatt.

Az újdonság a 2.0.0-s verzióban RC3:

  • A "for / as" és a "for / until" új hurokváltozatok az aktuális iteráció végén egy állapotot ellenőriznek, vagy elindítják a következő iterációt vagy elhagyják a hurkot. Ez mind a / for, mind a for in in loop-oknál működik.

Az újdonság a 2.0.0 verzióban RC2:

  • A "for / as" és a "for / until" új hurokváltozatok az aktuális iteráció végén állapítanak meg állapotot, és vagy megkezdhetik a következő iterációt vagy hagyják el a hurkot. Ez mind a / for, mind a for in in loop-oknál működik.

Újdonságok a 2.0.0 verzióban RC1:

  • Az új `import` utasítás lehetővé teszi egy vagy több könyvtár importálását, anélkül, hogy nevüket idézőjelek közé rendelték volna, pl. "import calc, stats" egyenértékű a readlib ('calc', 'stats') "értékkel.
  • Az `import 'utasítás` alias` opciója hozzárendel egy vagy több rövid nevet az inicializált könyvtárfunkciókhoz, pl. "import calc alias xpdiff" megegyezik a "with (" calc "," xpdiff ")" és a "import calc alias" egyenértékű a "with ('calc')" értékkel.
  • Az új `..` operátor lehetővé teszi az asztalok indexelését, még akkor is, ha a bal oldali operandus értéke` null 'értékre változik. Ebben az esetben a `null` -t visszaadják, és nem próbálják indexelni a mezőt (null értékű) hibát. Ez hasonló a getentry funkcióhoz, de háromszor gyorsabb.

Az újdonság az 1.12.9-es verzióban:

  • Az új "io.getclip" és "io.putclip" szövegek az Agena és a vágólap között cserélhetők (csak Windows).
  • A `stats.prange` át lett írva C-ben és 60% -kal gyorsabban.
  • Az `os.cpuinfo` most helyes és több információt tartalmaz az ARM alapú rendszerekről.
  • DOS és UNIX rendszerekben, beleértve a Mac OS X-et és csak az összetett tartományban, a 0 bázis exponenciálódása a 0 + r * I exponenshez, a r nem nulla úszóval r visszaadta `undefined` helyett 0 értéket. Ez rögzült.
  • A DOS és UNIX rendszerekben, beleértve a Mac OS X-et és csak az összetett tartományban, a 0 bázis exponenciálódása az r + 0 * I exponenshez, r minden pozitív lebegővel, 0. helyett 0. " rögzített.

  • A
  • stats.obcount és a stats.obpart nem tartalmazhat értékeket a legalacsonyabb alintervallumba. Ez rögzült.

  • A "calc.nakspline", a "calc.naksplinecoeffs", a "calc_clampedspline" és a "calc_clampedsplinecoeffs" provokált szegmentációs hibákat hívják fel olyan struktúrával, amely túl kevés pontot tartalmazott, azaz párokat. Ezt úgy oldották meg, hogy ezekben az esetekben visszatérés "fail".

  • A potenciális memória eltávolítási hibákat eltávolítottuk a "calc.neville", "calc.interp", "calc.newtoncoeffs", "calc.naksplinecoeffs", "calc.clampedsplinecoeffs", "calc.nakspline" és a "calc.clampedspline".
  • Az új "C: " függvény az agn_checkinteger ellenőrzi, hogy egy argumentum egy szám és egy egész szám, és - ellentétben a "luaL_checkinteger" -el, másként hibát okoz.

Újdonság a 1.9.0-es verzióban:

  • Az új `alternate` függvény az első argumentumát adja vissza, ha a második argumentuma` null`. Ellenkező esetben visszatér a második argumentumához.
  • A -b kapcsoló az Agena végrehajthatóvá vált, mivel a kimenete ugyanaz volt, mint a -v beállítás.
  • A `strings.utf8size` Windows és UNIX / Mac verziója potenciális memória szivárgást tartalmazott; ez megváltozott.
  • A plusz könyvtárak bináris DLL-jai / SO-jai már nem tartalmaznak fel nem használt kódot, méretüket akár 10% -kal is csökkentik, az operációs rendszertől függően. A makefile és a korábban használt fejlécfájlok importáló forrása megváltozott. Például ez 55 kilobájtnál kisebb mértékben csökkenti a Windows binárisok méretét.
  • Bővítette a tesztcsomagot.
  • Frissítette a rendszerfájlokat.

Az újdonság a 1.6.0 verzióban:

  • Új funkciók és funkciók:
  • Az új `checktype` függvény határozza meg, hogy egy adott struktúrában lévő összes érték egy adott típusú.
  • Az új `isint` függvény ellenőrzi, hogy az összes argumentuma egész szám.
  • A `strings.dleven` új függvény visszaküldi a Damerau-Levenshtein két szál távolságát.
  • Az "stats.ad" új funkció határozza meg az összes érték abszolút eltérését egy struktúrában.
  • Az új `stats.countentries` függvény számítja ki a struktúra összes elemének előfordulási számát.
  • Az új `stats.deltalist` függvény az adott szomszédos elemek deltáinak szerkezetét adja vissza.
  • Az új `stats.gmean` függvény a struktúra geometriai átlagát adja vissza.
  • Az új `stats.hmean` függvény visszaadja a szerkezet harmonikus középértékét.
  • Az új `stats.ios` függvény egy jól bevált jelzést ad a disztribúció stabilitásáról.
  • Az új `stats.iqr` függvény visszaadja az interkvartilis tartományt.
  • Az "stats.issorted" új funkció ellenőrzi, hogy a struktúrában lévő összes szám rendben van-e növekvő sorrendben.
  • Az "stats.moment" új funkció kiszámítja a megadott adatok pillanatát egy eredetről.
  • Az új stats.numbperm függvény a permutációk számát adja vissza.
  • Az új "stats.percentile" függvény határozza meg a percentiliseket.
  • Az új `stats.skewness` függvény visszaküldi a hajlékonyságot, a valószínűségi eloszlás szimmetriájának mutatóját.
  • Az új `stats.sumdata` függvény összefoglalja a származási struktúra összes hatásköreit.
  • A `stats.tovals` mostantól C könyvtár funkció, így akár 40 százalékkal gyorsabb is lehet.
  • Egy üres táblázat vagy szekvencia, a `stats.qmean`,` stats.mean`, `stats.gmean`,` stats.sd`, `stats.median`,
  • A `stats.var` most vissza nem jön.
  • Az önálló tolmács beviteli sorának maximális hossza 512-ről 2048 karakterre változott.
  • Az új "environ.maxpathlength" környezeti változó tárolja a karakterek maximális számát egy fájl elérési útján (kivéve C karakterét).
  • Az új környezet változók `environ.minnumber` és` environ.maxnumber` tartják a minimális és maximális értéket egy Agena szám (jelenleg egy ANSI-C dupla) tárolni.
  • Az új "environ.umaxlong" környezeti változó magában foglalja a C típus hosszútávú, maximum 32 + bites rendszernél a maximális integrált értékét, és a 16 bites gépeken hosszú, aláírás nélkül.
  • C API:
  • Az Agena C API 100% -os kompatibilitását a Lua C API-jával újra létrehoztuk a Lua * dump funkcióinak bevezetésével. Így most funkciókat bináris ábrázolásban tárolhat, pl. a strings.dump vagy lua_dump használatával a C szintre.
  • Bevezette az új `agnL_optboolean` függvényt, hogy ellenőrizze az opcionális logikai argumentumokat és visszaadja azokat siker esetén.
  • Hibajavítások:

  • A
  • `environ.globals` hibaüzenettel mindig kilép, ez rögzült.
  • `feltételezzük, hogy 'mindkét argumentumával hamis, vagy' undefined 'értékkel bír. Ebben az esetben most igaznak tér vissza.
  • Agena összeomlott, amikor egy üres asztalt ad át, és a "csatlakozás" határolóját megszüntette - ez rögzült.
  • A `color` opciót a 'gdi.plot` nem hagyja figyelmen kívül.
  • A táblákkal a `stats.minmax` hibás értéket ad vissza a minimális értékhez. Mostantól jól működik.
  • Egy üres táblázattal a `stats.median` 0 visszaküldött, most vissza nem tér vissza.
  • A dokumentációval ellentétben a `strings.isending` visszaküldött 'true', mindkét karakterlánc egyenlő. Ez rögzült.
  • A `run`` `` `file nem tud megnyitni` `ha egy meglévő Agena szkript tartalmazott egy szintaktikai hibát. Ezt a funkciót teljesen újraírta.
  • Hozzáadta a Lua 5.1.4 javítócsomagot 9: "A hibás kód generálása bizonyos [például összetett] logikai kifejezésekhez."
  • Hozzáadta a Lua 5.1.4 patch 11: "Az elemző gyűjthet egy prototípust, miközben felépíti."
  • * Info: A Lua 5.1.4 patch 10 hozzáadásával a "[__write / __ new] index metamodul nem működik, ha a metatablon saját metatablityje", az Agena nem szükséges, mert az Agena már most is megfelelően működik.
  • eltávolította a nem használt kulcsszót `default`.
  • Bizonyos funkciók és funkciók keményítése.
  • Tartozékok:
  • Hozzáadott egy _experimental_ verziójú `io.anykey` verziót a Mac verzióhoz. Azonban legalábbis az Oroszlán esetében a gomb megnyomása néha visszhangzik a héjon.
  • A `utils.readcsv` opcionálisan minden értéket egy CSV fájlban lapos sorrendben adhat vissza.
  • Az `clock` csomag most támogatja a` / `megosztási operátort hozzáadásával a` tm` operátor metatáblájához.
  • A `with` viselkedése megváltozott, mert számos könyvtári funkcióhoz rövid neveket nem tudna hozzárendelni: Ha a .aux táblába be lettek helyezve, ne rendeljen rövid nevet ezeknek a függvényneveknek; egyébként adja meg a rövid neveket az összes többi csomagfunkcióhoz. Így: `package.register`, hogy regisztrálja a könyvtár összes funkcióját` with` rövid nevek hozzárendelésére, már nincs szükség. A következő kiadások valamelyikében elavulni fog.
  • Javította a tesztcsomagot.
  • Manuális:
  • Javította a kézikönyvet és az indexet.
  • Állag:
  • Az összes következő átnevezés esetében a következő régi változók nevei továbbra is támogatottak.
  • `environ.MinLong` átnevezve` environ.minlong`.
  • A `environ.MaxLong` nevet` environ.maxlong` néven nevezték át.
  • A `environ.BufferSize` nevet` environ.buffersize` néven nevezték át.

  • A
  • `environ.PathSep` nevet` environ.pathsep` néven neveztük át.
  • `environ.More` már átnevezve` environ.more`.

  • A
  • `environ.WithProtected` nevet` environ.withprotected` névvel neveztük át.
  • A `environ.Os` nevet` environ.os` -ra nevezték át.

  • A
  • `environ.Cpu` nevet` environ.cpu` néven neveztük át.

  • A
  • `environ.Release` nevet` environ.release` névvel neveztük el.
  • A `environ.GdiDefaultOptions` nevet` environ.gdidefaultoptions` néven nevezték át.
  • A Windowsban az `os.login` és az` os.computername` a 'sikertelen' hibát adja vissza, mint a UNIX vagy az OS / 2 verziók.
  • A `-DCOMPAT13` kapcsolót végül eltávolították egy Agena 1.3.x kompatibilis verzió összeállításához.
  • Egyéb:
  • Az elfedett "calc.fseq" törlésre került. Használd inkább a `nseq` szót.

Az újdonság az 1.5.1-es verzióban:

  • Patched `strings.fields`, amelyek egyáltalán nem működtek. Továbbá átalakították a C könyvtár funkciót, így 2,6-szer gyorsabb.

  • A
  • `strings.words` elfogadja a harmadik argumentumot, ha" true "-ra van állítva, a következő határolók figyelmen kívül maradnak.
  • Leiratkozott egy esetleges biztonsági szivárgásról az io.write és az io.writeline fájlból, és javította a hibaüzeneteket.
  • Meghátrált `binio.readchar`, hogy elkerülje a 2 GB-nál nagyobb méretű fájlokkal kapcsolatos hibákat.
  • Javított hibaüzenetek az `xbase.purge`,` xbase.readvalue`, `xbase.purge`,` ads.getvalues`, `binio.readshortstring`,` os.computername`, `os.login`, `os.fattrib`,` environ.kernel`, `package.register`.
  • A terabájt most beírható a T jelöléssel, ahol egy egész szám, és T a "T" karakter. Hasonlóképpen, g milliárdokat és t trillionokat jelöl. További információt a kézikönyv 48. oldalán talál.
  • A kézikönyv frissítése.
  • Leggyakrabban a C-forráskód visszafelé kompatibilis kapcsolóit eltávolították a kódok tisztítási okából. Ez csak azokat érinti, akik megpróbálják újrafordítani az Agena 1.5-es vagy újabb verziót, teljes visszamenőleges kompatibilitással az Agena 1.3 és 1.4 verziójához, és a legtöbb kompatibilitás a Lua 5.0-val (kivéve a régi Lua 5.0 könyvtárkezelést).

Újdonság az 1.5.0-s verzióban:

  • A `` térkép most már a második argumentumként megadott stringeket is feldolgozhatja. A megfelelő függvényt és argumentumait egymás után minden egyes karakterre balról jobbra alkalmazzuk, és az eredményt sorrendben adjuk vissza.
  • `Run`: Ha 'agn' utótagú fájlokat akar betölteni és végrehajtani, akkor nem kell többé megadnia az argumentum utótagját. Tehát a `run 'test'` és a' run 'test.agn'` mostantól ugyanaz.
  • A `yes` kulcsszó kötelezően meghatározza az eljárásokat. (Az GCC használatával használja a -DCOMPAT14 kapcsolót az Agena változatának fordítására, ahol a `is` kulcsszó továbbra is opcionális.)
  • A `try` utasítás elavult és már nem támogatott. (Az GCC használatával használja a -DCOMPAT14 kapcsolót, hogy összeállítsa az Agena változatát, amely még mindig ezt a kijelentést tartalmazza.)
  • A következő `utils` függvényeket eltávolítottuk:` array ',' getarray`, `getwholearray`, `newarray`,` searcharray`, `setarray`. A visszafelé kompatibilitáshoz hozzáadtak a lib / compat.agn fájlhoz. (Az GCC használatával használja a -DCOMPAT14 kapcsolót az Agena változatának fordításához, amely még mindig támogatja az eredeti utils függvényeket.)
  • A
  • `utils.singlesubs` teljesen át lett írva. A korábbi sztringarray felhasználóadat-struktúra helyett most a számok sorozatát várják, mint a második argumentumot. 35% -kal lassabb, mint a korábbi verzió, de a karakterlánc-struktúra eltávolítása fontosabb.
  • A `strings.include` összeomlott, ha a második argumentummal 0-val hívták. Ez rögzült.
  • Alkalmazta Michael G. Schwern 2011. május 10-i javítását a `32 bites év '2038-Fix' dátumú segédfunkcióihoz, amelyeket az` `` ```````````````` ` ahogy az ISO C előírja. ")
  • Belső kód optimalizálás: néhány könyvtár inicializálása és a fájlok betöltése C funkciók segítségével a köteg építette az útvonalat és a fájlneveket. A Solar Designer által írt "concat" új C aux függvény mostantól gyakran használatos.
  • Az Agena C API már 100% -ban kompatibilis a Lua C API-val, hogy megkönnyítse a C Lua csomagok Agenához történő továbbítását.
  • A következő funkciókat átnevezték: lua_isnumber - & gt; agn_isnumber, lua_isstring - & gt; agn_isstring, luaL_optnumber - & gt; agnL_optnumber, luaL_checknumber - & gt; agnL_checknumber, luaL_optnumber - & gt; agnL_optnumber, luaL_checkinteger - & gt; agnL_checkinteger, luaL_optinteger - & gt; agnL_optinteger.
  • A következő makrókat átnevezték: luaL_checkint - & gt; agnL_checkint, luaL_optint - & gt; agnL_optint.
  • A korábbi Agena megvalósításával ellentétben a lua_tonumber most 0 értéket kap, mint a Lua, ha nem számot adtunk át a HUGE_VAL helyett.

  • A (z)
  • lua_setglobal2 eltávolításra került. A lua_pushvalue és a lua_setglobal helyett használd.

Újdonság az 1.4.2-es verzióban:

  • Ha az eljárás paraméterlistáján a felhasználó által definiált típusok kerültek meghatározásra,

  • A
  • eljárás felhívja a hibákat, és az eljárás a következő esetekben történt:
  • a) táblázat, beállítás, sorrend, pár vagy eljárás - felhasználói definíció nélkül
  • típus - elhaladt,
  • b) egyáltalán nincs érték az adott paraméterre vonatkozóan.

Az újdonság az 1.4.1-es verzióban:

  • Az `stats.quartiles` és az` stats.mode` rövid neveket nem lehet a `with` függvénygel rendelni. Ez rögzült.
  • Hibásan a `with` nem adhat rövid nevet a` gdi.settriangle` kifejezéshez. Ez megváltozott.
  • Javult a "calc.polygen" hibakezelése.
  • A hiányzó FRACTINT térképfájlok javított hibaüzenetét a "fractals.draw" fájlban.
  • Az elavult "strings.rseek" funkciót eltávolította. Visszafelé kompatibilitás esetén a `strings.seek` hozzá lett adva a lib / compat.agn fájlhoz.
  • Hozzáadta a -d kapcsolót a hibakereső információk nyomtatásához a tolmács indításakor.
  • Az Agena Windows verzióját mostantól az GCC 4.5.2-vel állítottuk össze.
  • Frissített nyelvi fájlok.
  • A kézikönyv frissítve van.

Az újdonság az 1.4.0 verzióban:

  • Szemantikus változások:
  • A numerikus `for / to` ciklusok ciklusvezérlő változói most automatikusan lokálisan kerülnek a környező blokkokra a (belső) hurok testeik helyett. Ha egy, a ciklusvezérlő változóval azonos nevű helyi változót deklaráltunk és hozzárendeltük a
  • előtt
  • numerikus hurok végrehajtása, felülírja a hurok utolsó iterációs értéke. Mint ilyen, a numerikus `for` hurkok 'külső' kapcsolója már nem fogadható el. (Az GCC használatával használja a -DCOMPAT13 kapcsolót, és fordítson egy olyan Agena verziót, amely még mindig felismeri, de figyelmen kívül hagyja a "külső" kulcsszót.)
  • Az állandó `fail`,` no` visszaküldött `true`, de a` fail` változóhoz rendelve `not` visszaadva false. Ezt megváltoztatták, azaz "a: = nem; nem (a) "most visszaadja a" true "-t.
  • A `stats.median` ahelyett, hogy az adott struktúra üres volt,` fail` értéket ad a 0 helyett.
  • `utils.readcsv`: Ha a` delim` opcióval egyetlen fehér helyet adunk át, és ha a `ignorespaces` opciót nem adtuk meg, akkor a fehér szóközöket nem távolítjuk el automatikusan, mielőtt a fájl minden egyes vonalát felosztjuk annak szavait.
  • A funkciónak két új lehetősége is van: a `header`, amely egy fájl első sorát jelzi, és` output`, amely lehetővé teszi a fájl tartalmának tárolását a fájl fejlécében meghatározott mezőnevekkel rendelkező szótárba. / li>
  • A `$ 'alszöveg-jelölés már nem támogatott. (Az GCC segítségével használja a-DCOMPAT13 kapcsolót az Agena változatának fordításához, amely még mindig támogatja a `$` operátort.)
  • Extensions:
  • Infinite do / od hurkok kerültek hozzáadásra. Az ilyen típusú hurok végtelenül iterál, és csak a "break" vagy a "return" utasításokkal lehet megszakítani. Ők szintaktikai cukor, míg a true do ... od` loops.
  • A táblákkal a `stats.minmax` korábban csak tömbökkel dolgozott. Ezt megváltoztatták, vagyis az értékelés során a megfelelő nem pozitív kulcsokkal (pl. Karakterláncok, nem pozitív egész számok, negatív és pozitív úszók stb.) Kapott értékeket megfelelően felismerték.
  • A `stats.mean`, a` stats.qmean`, a `stats.sd` és a` stats.var` most szintén feldolgoznak szekvenciákat.
  • Az új `stats.mode` függvény minden olyan értéket visszaad egy sorozatban vagy táblában, ahol a legtöbb esemény fordul elő, azaz a legnagyobb gyakorisággal.
  • Az új `stats.quartiles` függvény egy _sorted_ táblázat vagy szekvencia első, második és harmadik kvartettjét adja vissza.
  • A "linalg.matrix" korábban nem dokumentált funkciói felkerültek a kézikönyvbe, és javult a hibakezelés.
  • A "linalg.hilbert" hibásabb kezelése.
  • A `gdi.setinfo` elfogadja a 'négyzet' opciót. Ha `square = false`, akkor az x és y tengelyek nem lesznek ugyanolyan skálával a` gdi.plot` paranccsal létrehozott parcellákkal.
  • Sajnos a `gdi.plot` funkció a rajzoláshoz nem dokumentált. Ez megváltozott.
  • A `gdi.plot` két új opciót fogad el: Az 'x' opció határozza meg azt a vízszintes tartományt, amelyen a plot megjelenik, és az 'y' opció megadja a függőleges tartományt.
  • Ha egy PLOT struktúrát átad a `gdi.plot` kifejezésnek, amely csak POINT, LINES, RECTANGLES, TRIANGLE, CIRCLE és ELLIPSE-t tartalmaz (beleértve a * FILLED változatát is), akkor a` gdi.plot` automatikusan meghatározza a mérleget (` gdi.setinfo` nem feltétlenül kell hívni.)
  • A Lua-tól örökölt OOP-jellemzők az A9 mellékletben találhatók. A szerző nem javasolja objektumorientált programozást.
  • Tuning:
  • Hangolt `feltöltött` operátort körülbelül 3% -kal.
  • A tweaked `` ```````````````````````````````````````````````````````` `
  • A táblákkal a `top` és `bottom` operátorok most 5% -kal gyorsabbak.
  • A `size` operátor legalább 8% -kal gyorsabb, ha a táblázatban nincs null.
  • `linalg.mzip`,` linalg.mmul` és `linalg.transpose` kb. 3% -kal hangolták.
  • A frakcionális lépésméretekkel ellátott számjegyek számát optimalizálták, ha a szabályozó változók számát felére csökkentették. Ez azonban nem érte el a sebesség növekedését.
  • Foltok:
  • Meghatározott "linalg.ludecomp" a különálló mátrixok észlelésére. Ezenkívül a függvény automatikusan meghatározza az adott mátrix sorrendjét.
  • A kézzel ellentétben a `gdi.plot` nem határozta meg automatikusan a vízszintes és a függőleges tartományokat. Ez rögzült.
  • A `gdi.plot` nem hagyja figyelmen kívül a 'gdi.setinfo` által beállított` square` beállítást.
  • A `gdi.setinfo` az INFO struktúrákhoz hozzáadta a beállításokat, még akkor is, ha azok már jelen voltak. Ez megváltozott.
  • A köröket "gdi.plot" nem megfelelően ábrázolta. Ez megváltozott.
  • A `gdi.plot` funkció a legtöbb esetben figyelmen kívül hagyta a geometriai objektumok egyéni színezését. Ez megváltozott.
  • A gdi csomag nem adott rövid neveket a `gdi.settriangle`,` gdi.settrianglefilled`, `gdi.setrectangle` és` gdi.setrectanglefilled` nevekhez. Ez megváltozott.
  • A fraktál csomag nem adott rövid nevet a felhasználó által definiált "esctime" típusú függvényeknek. Ez megváltozott. Javítva a `fractals.draw` hibaüzenet, ha a pozíciós argumentumok nem számok.
  • Egyéb:
  • A "calc.fseq" funkcionalitása "nseq" -ra egyesül. Visszatérő kompatibilitás esetén a `calc.fseq` még mindig része a calc csomagnak, de a függvény valójában az` nseq` implementációra vonatkozik.
  • Hozzáadta a `environ.FractScreenUpdates` változót a` fraktálok csomagjához ', hogy kijelölje a függőleges vonalak számát (egy nem negatív egész szám), amely után egy fraktál frissül az ablakban. A `environ.FractOptimised` változó elavult.
  • A kiegészítő gdi függvények újra csoportosultak.

Az újdonság az 1.3.3 verzióban:

  • Javítások az `instr`-re:
  • Regex módban az operátor rossz eredményt adott vissza, ha a kezdőpozíciót megadta.
  • Ha egyszerű keresési módban van, az operátor egy tartományon kívüli hibát adott vissza, ha nincs indítási pozíció.
  • A fordított keresési módot kivéve, ha nem találtak egyezést, akkor az első argumentum a "null" helyett lett visszaadva.
  • A `create` utasítás helyesbített hibaüzenet a szekvenciákra vonatkozóan.
  • Az AgenaEdit-ben, ha egynél több struktúrát ad ki, csak egyetlen "print" hívást, akkor a struktúrákat nem nyomtatták ki teljes formában, ha az első struktúra __tostring metametódot tartalmazott. Ez megváltozott.

Az újdonság a 1.3.2-es verzióban:

  • Ez a kiadás hibajavításokat, kiterjesztéseket és továbbfejlesztett kézikönyvet tartalmaz:

  • A
  • `dimenzió 'érdekes eredményeket hozott létre, ha egy struktúrát
  • -nek adtunk át
  • initialiser. Ezt megváltoztatták: a `` dimenzió '' létrehozza a
  • független példányokat
  • struktúra a táblázat inicializálásakor.
  • A `strings.rseek` funkcionalitása hozzá lett adva az` instr` operátorhoz.
  • Így a `strings.rseek` elavult. Visszafelé kompatibilis,

  • A
  • `strings.rseek` hozzá lett adva a lib / compat.agn fájlhoz.

  • A
  • `strings.hits` támogatja a rendszeres kifejezéseket és rögzíti azokat. Ez a viselkedés
  • kikapcsolható, ha egy logikai logikát harmadik argumentumként adja át.

  • A
  • `strings.isabbrev` és` strings.isending` mostantól automatikusan egy egyszerű keresést használ
  • ha nincsenek szabályos kifejezések vagy rögzítések a második
  • részeként
  • érv.
  • A tweaked `strings.ismagic` és` strings.isfloat`.
  • A `log` funkció most 13% -kal gyorsabb.
  • Ha több mint egy struktúrát ad ki egyetlen hívással a `print` kifejezésre,

  • A
  • struktúrákat nem nyomtatták ki teljes formában, ha az első struktúra __tostring
  • volt
  • metamethod. Ez megváltozott.
  • A függvények hozzáadásával a 7. fejezet megkönnyíti az új
  • indításokat
  • felhasználó számára.

Az újdonság az 1.3.1 verzióban:

  • Problémák merültek fel a következő bináris operátorokkal: `xor`,` atendof`, `& amp; & amp;`, `||`, `^^`, `::` és `: - `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` Ez rögzült.
  • Négy javítás az "os.list" -ra: Ha az 'r' opciót elhalasztja, akkor az aktuális munkakönyvtár hibásan megváltozott a hívás befejezése után.
  • Ha az 'r' nem került át az utolsó argumentumként, a függvény hibát adott ki.
  • `null` nem fogadta el az első argumentumot, amely az aktuális munkakönyvtárat jelöli.
  • A Windows 7 rendszerben a gyökérkönyvtár tartalmának nyomtatása nem működött, azaz az os.list ('c:') visszaadta az aktuális munkakönyvtár tartalmát.
  • Ha egy karakterláncot nem számmal indexeltek, pl. "str [null]", Agena visszatért "null" -ra. Most hiba lép fel.
  • Ha a library.agn nem található, akkor a figyelmeztetés kétszer kinyomtatott. Ez megváltozott.

Az újdonság az 1.2-es verzióban:

  • A szubsztring operátort átterveztük, de a régi verzió még mindig elérhető lesz az Agena 2.0-ig: az újabb: `str [balról jobbra] ', a régi már:` str $ (balra, jobbra) ` . Példa: előtt: 'str: =' string '; nyomtatás (str $ (2, 3)) `- & gt; 'tr' most: 'str: =' string '; nyomtatás (str [2 - 3]) `- & gt; 'Tr'
  • Most képesek vagyunk meghatározni a táblázatos tömbök és sorozatok listáját a fent említett új szintaxissal: `s [left to right]`. Példa: most: 'a: = [10, 20, 30, 40]; print (a [2 - 3]) `- & gt; [20, 30] most: a: = seq (10, 20, 30, 40); print (a [2 - 3]) `- & gt; seq (20, 30)
  • A `ops` függvény most lehetővé teszi a visszaadandó értékek meghatározását azáltal, hogy az indexpozíciók sorrendjét az első argumentumként adja át, pl. ops (seq (1, -1), 10, 20,
  • )
  • 30).
  • A `stringek.include` új függvény karakterkészletet szúr be
  • egy adott pozícióban.
  • Az alábbi funkciók most hibát adnak ki, ahelyett, hogy csak a `fail` parancsot adnánk vissza
  • hiba esetén: "os.remove", "os.move", "os.mkdir", "os.rmdir", "os.chdir".
  • Javítások a szemétgyűjtéssel kapcsolatos készletek és szekvenciákon dolgozó következő üzemeltetők számára: `insert` utasítás,` union`, `intersection`, `minus`, `unique`,` copy`, `pop / top` és a "pop / bottom" utasításokat, és állítsa be a hozzárendelést.
  • A "fractals.draw" hibaüzenet, ha a FRACTINT színes térképfájl nem
  • nem található.

Az újdonság az 1.1.0 verzióban:

  • Ez a kiadás új funkciókat és tisztított névteret tartalmaz.
  • Kompatibilitás az Agena 1.0-ra:
  • Egyes funkciókat eltávolítottunk az Agenából, és néhányat csomagolási funkciókká alakítottunk át (lásd alább). Ha továbbra is használni szeretné őket, írjon readlib 'compat' parancssort a parancssorba, vagy tegye a fenti állítást az inicializálási fájljába, ha az Agena 1.0-hoz képest hátrányos kompatibilitást szeretne.
  • Bővített funkcionalitás:
  • A "pop / top" és a "pop / bottom" utasításokat, valamint az alul és a felső operátorokat az asztal tömbökre is fel lehet használni.
  • Ha `null` vagy nem érkezik argumentummal, az` os.chdir` hibát nem bocsát ki, hanem az aktuális munkakönyvtárat adja vissza. Így az egykori `os.curdir` C függvényt egy Agena nyelven írta le.
  • Az `os.list` rekurzívan megkeresi az almappákat, ha az új 'r' opció megadható.
  • A `join` operátor mostantól egy opcionális delimitort is elfogad, és támogatja azt az opciót, amely meghatározza az összeillesztendő struktúra első és utolsó elemét.
  • Az `instr` a karakterlánc jobb végéről kereshet negatív pozícióval.
  • Ha egy tábla tartalmaz más táblákat, készleteket, szekvenciákat vagy párokat, akkor a `copy` most már tudja, hogyan kell ezeket a hivatkozásokat megfelelően kezelni, ha többször fordul elő: Ha egy beágyazott struktúrát n-szer tartalmaz, akkor egy valós példány készült és Az újonnan létrehozott struktúrára vonatkozó n-1 hivatkozásokat beillesztjük. Korábban, n független másolatokat készítettünk.
  • Az új `isnonposint` függvény ellenőrzi, hogy az adott számok egészek és nem pozitívak.
  • A `io.close` mostantól több fájlt is bezárhat egyetlen hívással.
  • A `with` függvény nem adott rövid nevet a` math` csomag alábbi eljárásaihoz: `convertbase`,` fraction`, `zeroin`,` todecimal`, `lcm`,` gcd` és ` ndigits`. Ez javításra került.
  • A kézikönyvben említett `rwritemode` függvény nem létezik. Most már elérhető, de "rmode".
  • A különböző funkciók hibaüzenetei javultak.
  • A névtér tisztítása: átnevezett vagy áthelyezt funkciók:
  • A `register` és` loadclib` alapkönyvtár funkciók átkerültek a `package` könyvtárba.
  • A korábbi "rdelete", "rget", "rinit", "roinit", "rmode", "rset", "emlékeznek" és a "defaults" alapkönyvtárfunkciókat áthelyezték az új `rtable` csomagba .
  • Átnevezte a globális _Env táblát a `environ` címre, amely most már tartalmazza a környezethez való hozzáférést is.
  • A korábbi globális "homedir" és "infolevel" környezeti változókat átnevezték "environ.homedir" és "environ.infolevel" névvel.
  • A következő, korábbi alapkönyvtári függvényeket áthelyeztük a `environ` csomagba:` anames`, `attrib`,` gc`, `getfenv`,` globals`, `isselfref`,` pointer`, `setfenv` , `used`,` userinfo`, `__RESTART`,` __DOTTYPRINT`.
  • A `mapm.xtoNumber` nevet` mapm.xtonumber` néven neveztük el, `mapm.xtoString` átnevezve` mapm.xtostring`. Visszatérő kompatibilitás esetén a régi funkciónevek továbbra is használhatók a lib / compat.agn fájl végrehajtásával (először olvassuk le a `mapm` csomagot, majd töltsük be a compat.agn fájlt).
  • elavult függvények és változók:

  • A
  • `strings.seek` elavult. Funkcióját hozzáadta az `instr` operátorhoz. Az `instr` mintázat illesztési mód kikapcsolásához adja meg a keresés kezdetét a harmadiknak, és a` true` -t, mint a negyedik argumentumot. Az `instr` körülbelül 40% -kal gyorsabb nem mintás illesztési módban, mint` strings.seek`. Visszafelé kompatibilitás esetén a `strings.seek` hozzá lett adva a lib / compat.agn fájlhoz.
  • A `concat` alapkönyvtár funkciót eltávolítottuk. Használja a `join` kifejezést. Visszafelé kompatibilitás esetén a korábbi függvényt a lib / compat.agn fájlhoz adtuk.
  • A `` `` `` '`'` '`'` `` `` `` `` `` `` `` `` `` `` A hátrafelhasználók kompatibilitásához hozzáadtak a lib / compat.agn fájlhoz.
  • A `pcall` függvény elavult. Használja a `protect` kifejezést. Visszatérő kompatibilitás esetén a függvény hozzáadódik a lib / compat.agn fájlhoz.
  • A `maptoset` funkció elavult. Visszatérő kompatibilitás esetén a függvény hozzáadódik a lib / compat.agn fájlhoz.
  • Az "os.alldirs" függvény elavult. Használja a "dirs" és "r" opciókat hívás közben az "os.list" kifejezésre. Visszatérő kompatibilitás esetén a függvény hozzáadódik a lib / compat.agn fájlhoz.
  • `os.isMac`,` os.isSolaris`, `os.isLinux`,` os.isWin`, `os.isOS2`,` os.isDOS`, `os.isHaiku` elavult. Használja az új környezeti változókat, az environment.Os és environ.Cpu helyett, ami szintén felgyorsítja a kódot. Visszatérő kompatibilitás esetén a funkciók hozzáadva a lib / compat.agn fájlhoz.
  • A nem dokumentált _VERSION változót eltávolítottuk. A visszafelé kompatibilitáshoz hozzárendelést adtak hozzá a lib / compat.agn fájlhoz.
  • Egyéb módosítások:
  • A kézikönyvben említett C API-függvény nem szerepel a kézikönyvben említett lua_rawsetstring számmal. Ez megváltozott.
  • Kódelérések az elemzőhöz.
  • Néhány csomagban véletlenül néhány változót implicit módon globálisnak nyilvánították. Ez rögzült.
  • Korrigált és frissített inicializálási mintafájlok.
  • Az AgenaEdit frissítve lett.
  • A nyelvi fájlok frissítve lettek.
  • A Linux telepítők most tartalmazzák az xBase csomagot.

Újdonság a 1.0.6 verzióban:

  • A "beillesztés", a "törlés", a "pop" utasítások, a "join", a "copy" és a "töltött", a "toset", a "toseq" és a "totable" és a `for` hurkokhoz.
  • A szekvenciákkal Agena az események sorrendjében összeomlott: 1) egy "törlés" utasítás végrehajtásra került, 2) a szekvencia üres volt, és 3) új elemet helyeztünk újra. Ezt rögzítették. (A belsőleg a `delete` utasítás már nem csökkenti belsőleg a szekvenciák méretét.)
  • A nagy karakterláncokkal a `concat` összeomlott. Ez rögzült.
  • Az 512-es és több bájtos karakterláncokkal a `join` és a` replace` összeomolhat. Ezt rögzítették. A két szolgáltató most is sokkal gyorsabb, mint valaha.
  • A `math.isprime` hibás eredményeket adott érvekkel & gt; 2 ^ 31 (a kézikönyvben homályosan szerepel). Ezt úgy határozták meg, hogy az argumentumtartományt egész számokra kiterjesztettük a +/- 2 ^ 63 értékekre.

  • A
  • `math.nextprime` és a` math.prevprime` ugyanazt a problémát jelentette, mint a `math.isprime`. Ez is megváltozott. A 2. argumentummal a `io.nextprime` hibásan 5 helyett 3 helyet adott vissza. Ez is rögzült.

Újdonság a 1.0.5-ös verzióban:

  • A `join` összeomolhatja Agena-t és egyébként váratlanul viselkedhet, ha az eredményül kapott string
  • meghaladta az 512 bájtot. Ez megváltozott.
  • Ha a `restart`-t hívták az előző
  • hiba kiadása után
  • nyilatkozat, Agena ritkán összeomlott a stack korrupció miatt. Ez már
  • volt
  • fix.
  • Az újonnan létrehozott táblázatok, amelyek pontosan egy elemet tartalmaznak a hash részben, `attrib`
  • most helyes eredményt ad ki az elosztott hash-rések számához (1 helyett 0).
  • Korrigált hibaüzenetek a `qsadd` és` sadd` fájlokból.
  • A "join", a "copy" és a "tele" operátorok hibás üzenetei, valamint a "beszúrása"
  • és a "törlés" utasításokat.
  • Javult a `read`,` save` és `fractals.draw` hibakezelése.
  • A makefiles javítása.
  • A pufferméreteket a források standardizálják.

Az újdonság a 1.0.4-es verzióban:

  • Mivel az inicializálás során ritka összeomlásokról számoltak be (egyes esetekben a Windows XP SP 3 és az OpenSolaris 134 esetében), a szemétgyűjtés most kikapcsolódik az inicializálási fázisban. Ezek a ritka szegmentációs hibák jelentkeztek az OpenSolaris-ban, amikor az Agena bináris könyvtárat gyökérkönyvtárként futtatták, és XP-ben, amikor az Agena asztali ikonra kattintva helyi adminisztrátori jogosultságokra kattintottak.
  • Bevezette a -d kapcsolót a parancssori opciókra az információk nyomtatásához az Agena inicializálásakor.
  • Megfelelő hibakezelést vezetett be, ha a memóriát nem lehet belsőleg hozzárendelni: `trim`,` upper `,` lower`, `os.curdir` és` strings.rseek`.
  • A lehetséges memória szivárgásokat eltávolította az inicializálási C-funkciókban, az agenaL_initialise és az agenaL_setLibname, az `io.write *` és a `print` mappában.

Az újdonság a 1.0.3 verzióban:

  • Az új "védelem" funkció védett módban hív le egy eljárást, és megragad minden lehetséges hibát, hogy a számítás ne szakadjon meg. Hiba esetén a hibaszakaszt a "lasterror" globális változóra állítja be. Ez kapcsolódik a `pcall` kifejezéshez, de nem adja vissza az állapotkódot első eredményként.
  • `attrib` most helyes eredményt ad vissza üres struktúrákkal. Az üres struktúrákkal a függvény hibásan számított egy meghatározott hash elemet.
  • `attrib` most visszaadja a táblák, készletek és sorozatok által elfoglalt bájtok számát az új" byte "kulcs mellett. A visszaadott bájtok száma a hálózaton elérhető, esetenként ellentmondásos információkon alapul.
  • `replace` összetörte Agena-t, ha a kapott string meghaladta az 512 bájtot. Ez megváltozott.
  • `assume` most visszatér 'Assumption failed'. helyett "feltételezés sikertelen".
  • Az új C-API-függvény, a lua_setglobal2, az értéket a verem tetején globális névre állítja. Ellentétben a lua_setglobal értékkel, az érték nincs feltüntetve.
  • A lobject kódex tisztítása (táblázat struktúrája) és lapi.c (actnodesize makró). Bugfix a C API függvényhez agn_deletertable abban az esetben, ha az Agena nem üres lua_assertrel van fordítva. Az inicializálás során használt mentési funkció visszatérési értékének megváltoztatása a veremhiba (enyhe) lehetőségének megakadályozása érdekében

Az újdonság az 1.0.2-es verzióban:

  • Az új `os.setenv` eljárás környezetváltozókat állít be az operációs rendszer szintjén. A funkciót eredetileg Mark Edgar írta.
  • A Windows operációs rendszerben a `os.getenv` natív Windows API-funkciót hív fel a környezeti változók értékeinek megszerzése érdekében. A Windows kódot Mark Edgar írta.
  • Az új `os.environ` függvény visszaadja az összes kijelölt környezeti változót egy táblázatban. A funkciót eredetileg Mark Edgar írta.
  • A `io.open` most hozzáadja a FILE mutatót, a nevet és a sikeresen megnyitott fájl módját az új` io.openfiles` táblába. A `io.close` törli az 'io.openfiles` bejegyzéseket, ha a fájl sikeresen lezárható.
  • Ha argumentum nélkül hívják, az "io.read" hibaüzenetet ad, ha nincs argumentum az AgenaEdit programban (a billentyűzet olvasásának kísérlete).
  • Ha az "io.anykey" és az "io.getkey" szót az AgenaEdit programban hívják meg, megjelenik egy megfelelő hibaüzenet.
  • Az egyik inicializálási alfolyamat megváltozott, hogy elkerülje a lehetséges veremhibákat (bár problémák soha nem fordultak elő).
  • Az os.isMac ('ppc') most PowerPC gépeken dolgozik.
  • Az alapozó és referencia 4. és 6. fejezetét felülvizsgálták és kiterjesztették. Hozzáadtak egy indexet, és sok kozmetikát készítettek.
  • Helyes verzióinformációkat tárolt a Windows futtatható.

Az újdonság az 1.0-s verzióban:

  • Tisztelt Hölgyeim és Uraim,
  • Négy évnyi fejlesztés után megjelentem az Agena 1.0-at, a Lua C forrásokból származó eljárási programozási nyelvet.
  • A közösségem valójában nagyon, nagyon kicsi, de néhány felhasználó azt mondta nekem, hogy finom, hasznos és stabil.
  • Nagyon örülnék, ha átnézné Agenát, és tájékoztatna nekem az eredményeiről. Ha nem találja hasznosnak, kérjük, mondja meg nekem személyesen, és adj egy esélyt a problémák megoldására.

Az újdonság a 0.34.1d verzióban:

  • Ez a verzió tartalmazza az AgenaEdit frissített grafikus felhasználói felületét (lásd a végrehajtható fájlt agenaedit).

Mi új a 0.34.1-es verzióban:

  • Az AgenaEdit szintaxiskiemeléssel és beépített futásidejű motorral együtt megjelent az Agena 0.34.1 verzióval.

Az újdonság a 0.34.0 verzióban:

  • AgenaEdit szintaxiskiemeléssel és beépített futásidejű motorral együtt megjelent az Agena 0.34.0 verzióval.

Az újdonság a 0.33.2-es verzióban:

  • Az Agena 0.33.2 xBase fájl támogatással megjelent.

Az újdonság a 0.33.1-es verzióban:

  • Az Agena 0.33.1 az xBase fájl támogatásával megjelent.

Az újdonság a 0.33.0 verzióban:

  • Az új `xbase` csomag képes olvasni és írni a dBASE III szabványnak megfelelő xBase fájlokat.
  • A `binio` és` ads` csomagok képesek legfeljebb 2 ^ 63 byte fájlokat kezelni. Mielőtt csak 2 ^ 31 bájt méretű fájlokat kezelhetne.
  • Az új "io.lock", "io.unlock", "binio.lock", "binio.unlock", "ads.lock" és "ads.unlock" függvények lezárják a fájlt az olvasási és írási hozzáféréstől más Agena
  • függvényeket, vagy akár más alkalmazásokat is, feltéve, hogy az utóbbiak használják a lezárási protokollt.
  • A `read` nevű baselib függvényt a` with` nem írhatja felül.
  • Az új `package.checkClib` ellenőrzi, hogy a C dinamikus könyvtárba mentett csomagot inicializálták-e. Ha nem, akkor a képernyőn megjelenő figyelmeztetést visszaküldi és létrehoz egy üres csomagtáblát. Ellenkező esetben nem történik semmi.
  • A Haiku port támogatja a dinamikus link könyvtárakat.

Az újdonság a 0.32.3 verzióban:

  • Az Agena 0.32.3 új és hangolt Kalkulusfunkciók megjelentek.
  • A Mac felhasználóknak nem kell további függőségi könyvtárakat telepíteniük.
  • A Haiku port elérhető.

Az újdonság a 0.31.5 verzióban:

  • Ez a verzió beépített grafikát, tetszőleges precíziós matematikát és továbbfejlesztett szolgáltatásokat tartalmaz.

Az újdonság a 0.31.3 verzióban:

  • Hozzáadta a fraktál csomagot, hogy könnyen rajzoljon fraktálokat Solaris, Mac, Linux és Windows alatt.
  • A Solaris és a Linux rendszeren a `gdi.mouse` az alapértelmezett értékeket adja vissza az egérgombbal (ugyanúgy, mint a Mac és a Windows kiadások).
  • Az -v opció megadása után Agena most már nem hajtja végre az inicializálási fájlokat.
  • UNIX vagy Mac rendszeren az inicializálási fájlok fájlnevének mindig `.agenainit` kell lennie, függetlenül attól, hogy / usr / agena / lib vagy a személyes mappában van-e.
  • Az Intel CPU-k bináris Mac-eloszlása ​​körülbelül 30% -kal gyorsabb, mint az előző kiadások.
  • A `io.getkey` funkció mostantól elérhető a Mac OS X kiadásában.
  • Mac rendszeren az `os.system` mostantól teljes információt ad az operációs rendszerről és a CPU típusról. Vegye figyelembe, hogy a Darwin rendszermagról ad információt, és az eredményt tartalmazó táblában az első bejegyzés a `` Darwin '' helyett 'MacOSX' lesz.
  • Az "os.memstate", az "os.freemem" és az "os.beep" támogatja a Mac OS X rendszert.
  • Az `io.anykey` minden platformon elérhető, de a DOS és a Mac rendszeren` fail` értéket ad. Tehát a `gdi.draw` nem fogja többé hibát dobni a Mac-en, ha az egérgombot használja.
  • Az `os.listcore` kiterjesztésre került, hogy visszatérjen a fájl, a könyvtár vagy a linknevekhez. '' és ".." most nem tér vissza.
  • Az `os.list` nem ismerte fel az opciókat, és helyette üres listát adott. Ezt rögzítették. Ezenkívül lehetőségeket is lehet kombinálni. '' és "..", mivel az első argumentumot megfelelően felismerték.
  • Az `os.curdir` automatikusan automatikusan visszahelyezi a visszirányú sávokat a sávokkal meghatározott útvonalon.
  • Az "os.fstat" és a "ads.attrib" összeomlották az Agena-t, ha a fájl dátuma meghaladta a 2038. január 19-én, keddet. Ez a dátum kulcs (os.fstat) vagy 0/0/01 00:00:00 (ads.attrib).
  • `utils.calendar` Agena-nak ütközött, ha az érve érvénytelen, negatív vagy túl nagy. Ez megváltozott. Ezenkívül, ha a dátum 2038. január 19-én, kedden túl van, a helyes dátumot visszaadjuk.
  • Az új "os.screensize" és az "os.mousebuttons" funkciók visszaadják az aktuális képernyő felbontását és a csatolt egér gombjainak számát (csak Windows).
  • Az agena.ini.sample fájlt átneveztük a .agenainit.sample fájlra a UNIX / Mac disztribúciókban.
  • A Solaris számára egy új makefile mostantól az Agena kötőanyaggal együtt szállítja a Michael C. Ring által készített eredeti MAPM forrásokat.

Az újdonság a 0.31.2-es verzióban:

  • Az arbitrális matematikai pontossággal rendelkező térképi csomag az Agena DOS kiadásában is elérhető.
  • A térképcsomag által használt számjegyek száma 17 számjegyre van állítva az Agena for DOS vagy OS / 2 Warp indításakor. Az alapértelmezett érték 1 számjegy volt.
  • A MAPM kötés C-kódja szabványosított. Korábban a DOS és az OS / 2 forrásfájlok különböztek a UNIX és a Windows operációs rendszertől.
  • Kis fejlesztések a Windows és a Mac OS X telepítőkhöz.
  • Mac esetében a dokumentáció a / Users / Share / Agena helyett a Library / Documentation / Agena könyvtárban áll rendelkezésre.
  • A bűn, az cos, az arcsin, az arccos és az arctan függvények a 0 helyett a képzeletbeli egységet visszaküldték, ami rossz eredményeket eredményezett, ha ezeknek a függvényeknek a visszaküldését más olyan funkciókra, mint az ln (azaz a jel az egyéb funkciók eredményének képzeletbeli egysége hibás volt). Ezt a hibát a bűn, a cos, az arcsin, az arccos és az arctan visszatérése során a képzeletbeli egység 0-tól 0-ig állítja be.
  • Az arcsin és arccos függvények hibás eredményeket adtak a z argumentumokra, ha abs (real ((z))) 1. Ezt rögzítettük.
  • Az OS / 2-ben a legtöbb összetett aritmetikai függvény határozatlanul visszaadott. Ez rögzült.
  • Megjegyzendő, hogy az összetett tartományban még mindig vannak problémák az arccos és az arcsin operátorokkal, amelyek bizonyos helyzetekben nem definiáltak.
  • A Windows, az i386 Solaris 10 és a Linux verziókat mostantól az GCC 4.4.x (és xmath86.h nélkül) fordította le, ami jelentősen csökkentette a komplex számtani hibák számát. Valójában, komplex matematikai vizsgálati esetek kidolgozása nulla hibát eredményez. A Sparc verzióját a Sun Sparc GCC 4.3.3 verziójával állították össze, és kevesebb hibát tartalmaz a komplexszámú aritmetikában, mint a 0.31.1 kiadás.
  • Átneveztük a következő fájlokat: config.h - & gt; agncfg.h, chelpers.h -> agnhlps.h, agnxlib.h -> agnxlib.h.
  • A Mac-en a gdi.mouse most visszaadja az alapértelmezett értékeket a megnyomott egérgombokhoz.

Az újdonság a 0.31.1 verzióban:

  • Az Agena 0.31 tartalmazza az összes alapvető eszközt pontok, vonalak, körök, ellipszisek, téglalapok, ívek ábrázolásához. stb., a képméret és a színek szabályozásához.

Újdonság a 0.31.0 verzióban:

  • A nyelvi konzisztencia felszabadítása hibajavítással - megjelent. Tekintse meg a változtatás naplót, ami megváltozott.

Újdonság a 0.30.4-es verzióban:

  • Az Agena beépített grafikával rendelkezik. Ez lehetővé teszi, hogy ábrázoljon grafikonokat, képeket stb. Az X11 vagy Win32 ablakokban vagy a GIF, PNG, JPEG, FIG vagy PostScript fájlokban mind Solaris, Linuxban, mind Windows alatt. Agena kötődik a Ljubomir Milanovic és Horst Wagner által írt g2 grafikus könyvtárhoz, hogy ezeket az új képességeket biztosítsa.
  • Az Agena 0.30 tartalmazza az összes alapvető eszközt pontok, vonalak, körök, ellipszisek, téglalapok, ívek ábrázolásához. stb., a képméret és a színek szabályozásához.
  • & gt; a "gdi" kifejezéssel;
  • gdi csomag v0.1.4 2009. december 20-tól
  • arc, arcfilled, háttér, kör, circlefilled, clearpalette, close, dash, ellipszis, ellipsefilled, flush, fontsize, initpalette, tinta, lastaccessed, vonal, newline, newpoint, nyitott, telek, plotfn, pont, téglalap, rectanglefilled , resetpalette, setinfo, setoptions, struktúra, szöveg, vastagság, háromszög, trianglefilled, useink
  • A plotfn függvény egy vagy több funkciógörbét rajzol egy valós, adott esetben a felhasználó által definiált színben ábrázolt tengelyekkel együtt. Az y-tengely tartománya is megadható, különben Agena meghatározza a legjobb beállítást. A setoptions függvénnyel számos más opció állítható be, amelyek minden munkamenetben létrehozott grafikonra vonatkoznak: az ablak felbontása, a színtérkép, a vonalvastagság és a háttérszín. Természetesen a felhasználó felülírhatja bizonyos vagy mindegyik opciót egy adott telek számára. A szingularitásokat megfelelően kezelik.

Az újdonság a 0.30.3 verzióban:

  • Agena 0.30.3 beépített grafikával, tetszőleges precíziós matematikával és továbbfejlesztett funkciókkal.

Újdonság a 0.30.2-es verzióban:

  • Az Agena beépített grafikával rendelkezik. Ez lehetővé teszi, hogy ábrázoljon grafikonokat, képeket stb. Az X11 vagy Win32 ablakokban vagy a GIF, PNG, JPEG, FIG vagy PostScript fájlokban mind Solaris, Linuxban, mind Windows alatt. Agena kötődik a Ljubomir Milanovic és Horst Wagner által írt g2 grafikus könyvtárhoz, hogy ezeket az új képességeket biztosítsa.
  • Az Agena 0.30 tartalmazza az összes alapvető eszközt pontok, vonalak, körök, ellipszisek, téglalapok, ívek ábrázolásához. stb., a képméret és a színek szabályozásához.
  • & gt; a "gdi" kifejezéssel;
  • gdi csomag v0.1.4 2009. december 20-tól
  • arc, arcfilled, háttér, kör, circlefilled, clearpalette, close, dash, ellipszis, ellipsefilled, flush, fontsize, initpalette, tinta, lastaccessed, vonal, newline, newpoint, nyitott, telek, plotfn, pont, téglalap, rectanglefilled , resetpalette, setinfo, setoptions, struktúra, szöveg, vastagság, háromszög, trianglefilled, useink
  • A plotfn függvény egy vagy több funkciógörbét rajzol egy valós, adott esetben a felhasználó által definiált színben ábrázolt tengelyekkel együtt. Az y-tengely tartománya is megadható, különben Agena meghatározza a legjobb beállítást. A setoptions függvénnyel számos más opció állítható be, amelyek minden munkamenetben létrehozott grafikonra vonatkoznak: az ablak felbontása, a színtérkép, a vonalvastagság és a háttérszín. Természetesen a felhasználó felülírhatja bizonyos vagy mindegyik opciót egy adott telek számára. A szingularitásokat megfelelően kezelik.

Az újdonság a 0.29.0 verzióban:

  • Az Agena beépített grafikával rendelkezik. Ez lehetővé teszi a grafikonok, képek stb. Ábrázolását egy ablakban vagy egy GIF, PNG, JPEG, FIG vagy PostScript fájlban a Solaris, a Linux és a Windows rendszerben, a Ljubomir Milanovic által írt g2 grafikus könyvtárhoz való csatolással és Horst Wagner.
  • Az Agena 0.29.0 minden alapeszközzel rendelkezik a pontok, vonalak, körök, ellipszisek, téglalapok, ívek ábrázolásához. stb., a színkezeléshez, képfájlok létrehozásához vagy az X11 vagy Win32 ablakok megnyitásához.
  • A következő frissítések egyikében a gdi.plotfn és a gdi.plot funkciókat tartalmazó magas szintű felhasználói felület lehetővé teszi az egyváltozós funkciók és a pontok készletezését. A két funkció már szerepel az Agena 0.29.0-ban, de még mindig béta. Itt van egy előnézet:
  • & gt; a "gdi" kifejezéssel;
  • gdi csomag v0.1.0 2009. november 24-től
  • ív, háttér, kör, clearpalette, close, dash, ellipszis, filledArc, filledCircle, filledEllipse, filledRectangle,
  • töltöttTriangle, flush, fontsize, initpalette, tinta, lastaccessed, vonal, nyitott, telek, plotfn, pont, téglalap, reset,
  • resetpalette, setinfo, setoptions, struktúra, szöveg, vastagság, háromszög, useink
  • A plotfn függvény egy függvény görbét ábrázolja egy valós, adott esetben a felhasználó által definiált színben ábrázolt tengelyekkel együtt. Az y-tengely tartománya is megadható, különben Agena megpróbálja meghatározni a legjobb beállítást. A setoptions függvénnyel számos más opció állítható be, amelyek minden munkamenetben létrehozott grafikonra vonatkoznak: az ablak felbontása, a színtérkép, a vonalvastagság és a háttérszín. Természetesen a felhasználó felülírhatja bizonyos vagy mindegyik opciót egy adott telek számára. A szingularitásokat megfelelően kezelik.
  • plotfn (sin (x) * x & gt ;, -5, 5, színes "kék", axiscolour ~ "szürke", res ~ 640: 480);

Újdonság a 0.27.2-es verzióban:

  • Az új toSet baselib függvény átalakítja a karakterláncot a karakterek egy csoportjába, és egy táblázatot vagy sorozatot egy készletbe.
  • Az io.readlines-et 2048 karakterből álló vonalak feldolgozásával javították. A funkció most hibát is okoz, ha a belső memóriaelosztás sikertelen. A belső pufferméret 2048 byte-ról 512 byte-ra csökkent. Ezt megváltoztathatja, ha hozzáad egy másik értéket az AGN_IOREADLINES_MAXLINESIZE elemhez az agnconf.h fájlban.
  • Az io.readlines most már elfogadja a fájlkezelőket is. Ha fájlkezeléseket használ, a fájlnevekkel ellentétben, kérjük, vegye figyelembe, hogy az io.readlines használata után kézi úton be kell zárnia a fájlt.
  • Az io.readlines nem ad vissza üres táblát, ha a fájl nem létezik. Ehelyett hibát ad ki.
  • toSeq most hibát ad vissza a sikertelen hiba esetén, ha nem kap meg karakterláncot, beállítást vagy táblát.
  • A használt baselib függvény meghosszabbodott, és visszaadhatja a memóriahasználatot bájtban, kbit-ban és gbytesben. Ez egy C funkció most.
  • A nem dokumentált gčinfo függvényt törölték. Funkcióját használták.
  • Az új C API függvény az agn_usedbytes adja vissza a rendszer által használt byte-ok számát.
  • Javítva a téves hibaüzenet.
  • átnevezte az 'agn_isioforcerror' C AOI függvényt `agn_isioforceerror` -ra.

Az újdonság a 0.27.0 verzióban:

  • Hozzáadta a math.erf hiba függvényt, valamint a math.erfc kiegészítő hiba függvényt.
  • Hozzáadta az első fajta math.besselj Bessel funkcióját, és a második fajta Bessel függvényt. A megbízást az első argumentum adja meg, az argumentumot pedig a második argumentum.
  • Ha az új környezeti változó _EnvIoForceError nem null értékre van állítva (az alapértelmezett), az io.open, io.readlines és a különböző binio függvények hibát hagynak ki ahelyett, hogy egyszerűen visszatérnének.
  • binio.readbytes és binio.readchar egy üres sorrendet adott vissza, ha nem sikerül a fájl olvasása. Ez megváltozott: sikertelen, vagy hibaüzenet jelenik meg.
  • Az arcsin és az arccos most operátorok, így körülbelül 40% -kal gyorsabb.
  • Hozzáadta azt a xor operátort, amely a Boolean exkluzív-OR értéket valósít meg értékre, vagy valós, hamis, sikertelen és nullára állítja.
  • Hozzáadta az operátor atendofont, amely ellenőrzi, hogy egy szó befejeződik-e egy adott kifejezéssel és visszaadja pozícióját számként. A kezelő null értéket ad vissza, ha a karakterláncok azonos hosszúságúak, legalább egyikük az üres karakterlánc, vagy a szó nem ér véget az adott mintában.
  • A
  • isrtable most csak true értéket ad vissza, ha van egy írási-írási táblája (a return utasítás által frissítve).
  • Az új function hasrotable határozza meg, hogy egy függvénynek csak olvasható emlékeztető táblája van (amelyet a visszatérési utasítás nem tud frissíteni), és igaz vagy hamis.
  • Az új operátorok gethigh és getlow a magasabb és az alsó bájtokat egy számból (vagyis C dupla) tölti be.
  • A sethigh és setlow új operátorok a magasabb és az alsó bájtokat egy számra (vagyis C dupla) állítják be.
  • Az új operátorok banda, bor, bxor és bnot bitwise és, vagy exkluzív vagy kiegészítő műveletek számokon.
  • Az új `kernel` függvény konfigurálja az Agena rendszermag beállításait. Jelenleg megváltoztathatja a bitfolyam-üzemeltetők belső működését (aláírt vagy aláírás nélküli egész számok használata), valamint a számok nyomtatásának módját.
  • Valódi számmal x, a matematikai argumentum most Pi érték helyett Pi értéket ad, ha x < 0.
  • Az alapul szolgáló ANSI C könyvtári függvények hibája miatt az arcsin és az arccos hibás eredményeket eredményezett komplex számokkal, ha képzeletbeli részük nulla volt a UNIX rendszerekben. Ez rögzült.
  • math.isPrime hamis számmal jelentette be a 2. számot. Ezt korrigáltuk.
  • A kézzel ellentétben az abs 2-t nem sikerült visszaadni. Most visszaadja a -1-et dokumentáltként.
  • A bitek csomagja eltávolításra került.
  • Hozzáadta az új agn_ijeforcerror C API funkciót, amely ellenőrzi, hogy a _EnvIoForceError nem null értékű-e.
  • Az új C API függvény, az agn_setbitwise meghatározza, hogy az operátorok sávszáma, bor, bnot, bxor és a belső eltolódás kiszámítása aláírt vagy aláírás nélküli egész számokkal történik.
  • Az új C API függvény agn_getbitwise visszaadja az agn_setbitwise beállított módot.
  • Az új C API függvény, az agn_setdigits beállítja a számok számozásához használt számjegyek számát.
  • Az új C API függvény, az agn_getdigits határozza meg a számok nyomtatásához használt számjegyek számát.
  • Belső: eltávolítva az elavult "REPL" bejegyzést a luaP_opnames-ból.
  • A Windows telepítője mostantól javult az Agena korábban telepített verziójának ellenőrzésével, megakadályozva ezzel a telepítő indítását, ha egy másik példány már fut, és más apró fejlesztésekkel.

Követelmények :

  • Ncurses
  • GNU Readline

Hasonló program

Hozzászólások a Agena

Hozzászólás nem található
Megjegyzés hozzáadása
Kapcsolja be a képeket!