Agena ay isang bukas na mapagkukunan, libre, multi-platform at madaliang pag-aaral ng programming language na wika na idinisenyo para sa pang-araw-araw na paggamit. Maaari itong magamit sa mga graphical, pang-agham, wika at pang-edukasyon na kapaligiran, pati na rin sa mga application ng scripting, na sumusuporta sa lahat ng mga pangunahing operating system.
Nag-aalok ng maraming mga daloy ng control facility
Nag-aalok ang application ng maraming mga daloy ng control facility, tulad ng kung, pagkatapos. operator, numerical para sa, mula, sa, at sa pamamagitan ng mga loop, pinagsama ang numero para sa at habang ang mga loop, para sa at sa mga loop, habang at gawin / bilang mga loop, isang laktawan pahayag, isang pahinga pahayag, pati na rin ang pagpapatunay ng uri ng data.
Nagbibigay ng mga takdang-aralin
Sa iba pang mga tampok, maaari naming banggitin ang isang arbitrary katumpakan matematika aklatan, madaling pagsasaayos ng iyong personal na kapaligiran, isang madaling-gamitin na sistema ng pakete, pag-enumer na takdang-aralin, kontrol sa saklaw sa pamamagitan ng epocs / saklaw keyword, at maraming iba pang mga kaakit-akit na mga tampok.
Sa ilalim ng hood at availability
Ang isang mabilis na pagtingin sa ilalim ng hood ay magpapakita sa amin na ang proyekto ay nakasulat sa C, BASIC, Lua at ALGOL 68 programming languages, na nangangahulugang ang syntax nito ay kahawig ng syntax ng mga proyektong ito. Ito ay nagpapatakbo ng ganap sa isang console / terminal na kapaligiran, na nangangahulugang nagtatampok ito ng walang graphical user interface (GUI).
Mga barko na may simpleng editor
Sa kabila ng katunayan na ang software ng Agena ay isang application ng command-line, nagpapadala ito ng isang simpleng graphical na software ng editor, na tinatawag na AgenaEdit, na nagtatampok ng isang nakapaloob na kapaligiran ng Agena at mga kakayahan sa pag-highlight ng syntax. Ito ay mabigat na inspirasyon ng isang magkatulad na editor na binuo ni Bill Spitzak para sa toolkit ng cross-platform ng C + + GUI ng FLTK.
Gumagana sa Raspberry Pi
Ang mga graphical na kakayahan ni Agena ay sinusuportahan sa mga operating system ng GNU / Linux, Solaris, Mac OS X, Microsoft Windows, eComStation - OS / 2 at DOS. Maaari itong madaling i-deploy sa parehong 64-bit at 32-bit na mga platform ng hardware, at matagumpay na nasubukan sa board ng computer na batay sa ARM na Raspberry Pi.
Ano ang bagong sa ang paglabas na ito:
- bagong function ng Calculus at Istatistika
Ano ang bagong sa bersyon:
- bagong function ng Calculus at Istatistika
Ano ang bago sa bersyon 2.9.4:
- bagong function ng Calculus at Istatistika
Ano ang bago sa bersyon 2.8.5:
Ano ang bago sa bersyon 2.8.2:
- bagong function ng Calculus at Istatistika
Ano ang bagong sa bersyon 2.6.1:
- `stats.chauvenet` lower o upper outlier sa pamamagitan ng pagpasa sa opsyon na `outlier = 'lower'` o` outlier =' upper'`, ayon sa pagkakabanggit.
- `bags.remove` sanhi ng mga pagkakamali ng segmentation. Naayos na ito. Bukod dito, ang lahat ng mga function ng `bags` na ipinatupad sa C ay nabago sa loob.
- Ang (undocumented) metamethods para sa `+`, `-`, at` * `ay hindi gumagana kung ang` bag` na pakete ay hindi na tinatawag na `may` function o ang pahayag ng` import / alias`. Naayos na ito.
Ano ang bago sa bersyon 2.5.4:
Ang `stats.chauvenet` ay maaari na ngayong magsiyasat ng partikular para sa mas mababang o itaas na outliers sa pamamagitan ng pagpasa sa opsyon na` outlier = 'lower'` o `outlier =' upper'`, ayon sa pagkakabanggit.Ano ang bagong sa bersyon 2.5.3:
- `stats.chauvenet` lower o upper outlier sa pamamagitan ng pagpasa sa opsyon na `outlier = 'lower'` o` outlier =' upper'`, ayon sa pagkakabanggit.
- `bags.remove` sanhi ng mga pagkakamali ng segmentation. Naayos na ito. Bukod dito, ang lahat ng mga function ng `bags` na ipinatupad sa C ay nabago sa loob.
- Ang (undocumented) metamethods para sa `+`, `-`, at` * `ay hindi gumagana kung ang` bag` na pakete ay hindi na tinatawag na `may` function o ang pahayag ng` import / alias`. Naayos na ito.
Ano ang bago sa bersyon 2.4.2:
- `bags.remove` sanhi ng mga pagkakamali ng segmentation. Naayos na ito. Bukod dito, ang lahat ng mga function ng `bags` na ipinatupad sa C ay nabago sa loob.
- Ang (undocumented) metamethods para sa `+`, `-`, at` * `ay hindi gumagana kung ang` bag` na pakete ay hindi na tinatawag na `may` function o ang pahayag ng` import / alias`. Naayos na ito.
Ang `stats.chauvenet` ay maari nang eksakto para sa mas mababang o itaas na outlier sa pagpasa sa opsyon na` outlier = 'lower'` o `outlier =' upper'`, ayon sa pagkakabanggit.
Ano ang bago sa bersyon 2.3.0 RC1:
- Sinusuportahan na ngayon ng numerical `for` loops ang keyword na` downto 'upang maaari mong mabilang nang hindi ginagamit ang isang sapilitan na sukat ng negatibong ``. Sa konteksto ng `downto ', ang` sa' sukat na hakbang ay dapat palaging positibo. `mula sa 'simulan at` sa' itigil ang mga halaga ay sapilitan kapag gumagamit ng `downto 'keyword.
- Ang metamethods na '__finite', '__entier', at '__sqrt' ay hindi na suportado. Sa halip, idinagdag ang tatlong bagong metathod para sa mga operasyon sa mga istraktura: '__union' para sa mga operasyon ng unyon, '__intersect' upang matukoy ang mga intersection, at '__minus' para sa mga pagkakaiba. Kaya, ang `bag` na pakete ay sinusuportahan din ngayon ng tatlong operasyong ito.
- Ang `` integer division operator ay hindi sumusuporta sa metamethod nito at ginagamit ang isa para sa float divison (`/` operator) sa halip. Naayos na ito.
- Ang bagong pag-andar na `stats.gini` ay tumutukoy sa Koinefin ng Gini, isang panukat ng (sa-) pagkakapantay-pantay.
- Ang bagong function na `stats.zscore` ay nagbabalik ng isang function computing ang z-score (standard score) ng isang sample - ang bilang ng standard na deviations ang sample ay nasa itaas o mas mababa sa ibig sabihin ng isang pamamahagi.
- Maaari mong i-override ang lohika na ito sa pamamagitan ng pagpasa sa 'quicksort' ng bagong pagpipilian na tanging gumagamit ng tradisyonal na recursive na paraan ng Quicksort upang mag-uri-uriin ang mga numero. Gayundin, ang `stats.sorted` ngayon ay maaari ring gamitin ang eksklusibong algorithm ng Heapsort kung ipinasa ang bagong opsyon na 'heapsort', at isang non-recursive na algorithm na Quicksort na nililikha ng Niklaus Wirth sa bagong 'nrquicksort' na opsiyon.
- Ang bagong function na `stats.meanmed` ay nagbabalik sa parehong aritmetika ibig sabihin at ang panggitna ng isang pamamahagi, o Bilang kahalili ng quotient ng mean at ang panggitna, bilis ng bilis ng mga oras ng pag-compute kapag ang mga halagang ito ay kailangan ng mga 20 porsiyento.
- Pinahusay na mensahe ng error ng `size` na operator.
`stats.sorted` ngayon sa pamamagitan ng default ay gumagamit ng Introsort algorithm sa halip ng Quicksort. Maaari itong pabilisin ang oras ng pag-compute ng tatlong ulit sa mga hindi nakakondisyon na sitwasyon (kung saan kailangan ng Quicksort ang operasyon ng O (n ^ 2)), habang hindi isinasakripisyo ang pagganap sa mga karaniwang sitwasyon. Sa totoo lang, ang Introsort ay gumagamit ng Quicksort sa pamamagitan ng default at pagkatapos ay awtomatikong lumipat sa Heapsort kung ang recursion depth ay nakarating sa 2 * log (n, 2), kung saan n ang bilang ng mga elemento sa isang istraktura.
Ano ang bago sa bersyon 2.1.1:
- Mga bagong pag-andar at mga patch:
- `try / catch`: tahasang detalye ng variable na error pagkatapos ng` catch` token ay opsyonal na ngayon. Kung walang ibinigay na variable ng error, ang mensahe ng error ay awtomatikong naka-imbak sa lokal na variable na `lasterror`, at dapat na iwanang ang keyword na` then`:
- & gt; subukan
- & gt; error ('oops!')
- & gt; mahuli
- & gt; print (lasterror)
- & gt; yrt;
- oops!
- Ang pamagat na `try / catch` kung minsan ay hindi gumagana sa mga pamamaraan (hindi na-assign na error variable). Naayos na ito.
- Ang bagong function na `net.wget` ay nagda-download ng mga pahina ng HTML mula sa Web.
- Itinatakda ang `skycrane.counter` ng 10%. Ang pag-andar na ngayon ay opsyonal na nalalapat sa Kahan-Ozawa sa halip ng orihinal na Kahan summation algorithm kung ang bagong ikatlong argument ay ang string na 'ozawa'. Ang kaukulang mga mapagkukunang C ay binago upang maiwasan ang pag-optimize ng compiler, na maaaring kanselahin ang mga pag-optimize, pati na rin.
- Ang `argerror` ay naka-print na ang pangalan ng uri ng tinukoy ng user na isang halaga na natanggap sa mensahe ng error nito. Kung ang isang halaga ay walang uri ng tinukoy ng gumagamit, ang naunang uri nito ay inisyu.
- Pinahusay na mensahe ng error na 'na-index out-of-range` para sa mga string.
- Binago ang mga file na `stats.agn`,` linalg.agn`, `library.agn`, at` ansi.agn` nang may paggalang sa paghawak ng kanilang error.
Ang bagong 'a' na opsyon sa `debug.getinfo` ay nagbabalik ng bilang ng mga argumento na inaasahan ng isang pamamaraan, salamat sa LuaPowerPatch ni Rob Hoelz.
Ano ang bago sa bersyon 2.1.0:
- Para sa isang bagong uri ng paghawak ng error, ang bagong `try / catch` na pahayag ay ipinakilala. Nilikha ito at isinulat ni Hu Qiwei para sa Lua 5.1 noong 2008.
- Sa pangkalahatan, ang anumang mga pahayag na maaaring inaasahan sa pagbubukod ay maaaring ilagay sa isang `try` na sugnay. Kung ang isang error ay inisyu, na binuo ng isang tahasang tawag sa `error` function o sa anumang iba pang expression, function, o pahayag, agad na tumatalon ang control sa nararapat na` catch` clause kung kasalukuyan o sa dulo ng `try / yrt `pahayag kung hindi ibinigay ang sugnay na 'catch', na binabalewala ang anumang iba pang kasunod na mga pahayag sa` try` na sugnay.
- Ang mga pasilidad ng paghahatid ng `protektahan / lasterror` ay pa rin at laging suportado. Ang bagong control statement ay gagana rin sa mga pahayag ng `break`,` skip`, `redo`, at` return`.
- Ang bagong `redo` na statement ay nagsasauli sa kasalukuyang pag-ulit ng isang` para sa / sa` at `para / sa` loop mula sa simula.
- Ang bagong `recip` operator ay nagbabalik ng kabaligtaran ng isang numero x. Ito ay katumbas ng expression 1 / x, ngunit mas mabilis.
- Ang bagong pag-andar ng `stats.ema` ay nagpapaikut-ikot sa average na paglipat ng pamamahagi ng exponential. Ang bagong function na `stats.gema` ay nagbabalik ng isang iterator function na bumabalik sa kani-exponential na paglipat ng average ng isang pamamahagi.
- `*%`, `+%`, at `-%` ibinalik `hindi natukoy 'sa halip na isang tamang resulta kung ang kanilang tamang operand ay zero. Naayos na ito.
- Nakatakdang isang mensahe ng error sa `net.survey`.
- Mas pinahusay na mga mensahe ng error para sa pag-index sa labas ng hanay ng mga pares at mga string.
- Sa mga bersyon ng ANSI, Solaris, at DOS, ang operator ng `int` ay nai-tono.
- Ang bagong pag-andar ng API API na `agn_arraytoseq` ay nag-convert ng isang numeric array sa isang pagkakasunod-sunod at tinutulak ang bagong pagkakasunud-sunod sa ibabaw ng stack.
- Na-update ang manu-manong.
Ano ang bago sa bersyon 2.1.0 RC:
- Ang bagong `redo` na statement ay nagsasauli sa kasalukuyang pag-ulit ng isang` para sa / sa `at` para / sa `loop mula sa simula. Halimbawa:
- & gt; bandila: = true; & gt; para sa j sa [10, 11, 12] gawin & gt; print ('bago', j, bandila); & gt; kung bandila at j = 11 pagkatapos & gt; malinaw na bandila; & gt; print ('- & gt;', j, flag, 'jump back') & gt; redo & gt; fi; & gt; print ('after', j, flag) & gt; hanggang sa j & gt; 12; bago 10 totoo pagkatapos 10 totoo bago 11 totoo - & gt; 11 false jump back before 11 false pagkatapos 11 false bago 12 false after 12 false
- Ang bagong `recip` operator ay nagbabalik ng kabaligtaran ng isang numero x. Ito ay katumbas ng expression 1 / x, ngunit mas mabilis.
- Ang bagong function na `stats.ema` ay nagpapalit ng average na paglipat ng isang pamamahagi. Ang bagong function na `stats.gema` ay nagbabalik ng isang iterator function na bumabalik sa kani-exponential na paglipat ng average ng isang pamamahagi. Para sa paggamit nito, mangyaring tingnan ang src / stats.c source file, C functions * ema.
- `*%`, `+%`, at `-%` ibinalik `hindi natukoy 'sa halip na isang tamang resulta kung ang kanilang tamang operand ay zero. Naayos na ito.
- Nakatakdang isang mensahe ng error sa `net.survey`.
Ang bagong C API na function na `agn_arraytoseq` ay nag-convert ng isang numeric array sa isang pagkakasunod-sunod at tinutulak ang bagong pagkakasunud-sunod sa ibabaw ng stack.
Ano ang bago sa bersyon 2.0.0:
- Mga bagong pahayag at pag-andar:
- Agena 2.0 ay pababa-katugma sa Agena 1.12, maliban na ang mga token `import`,` alias`, `hanggang`, at` onsuccess` ay mga keyword na ngayon at hindi na magagamit bilang mga variable. Sa kasalukuyan, may magagamit na mga Solaris, Debian (x86, PowerPC, Raspberry Pi), Windows, Mac, at DOS installer para sa 2.0, kabilang ang na-update na Primer at Reference na nagpapaliwanag ng lahat ng mga bagong tampok nang detalyado.
- Ang mga bagong variant ng loop `para sa / bilang` at` para / hanggang `suriin ang isang kalagayan sa dulo ng kasalukuyang pag-ulit at alinman sa magsimula sa susunod na pag-ulit o iwanan ang loop. Ito ay gumagana sa parehong `para sa / sa`, pati na rin `para sa / sa` mga loop. Sa diwa, ang parehong mga variant ay magsagawa ng isang loop nang hindi bababa sa isang beses hanggang sa ang naibigay na kundisyon ay nasuri.
- Mga halimbawa:
- & gt; para sa ako sa 5 gawin
- & gt; print (i)
- & gt; tulad ng i & lt; 3
- & gt; para sa ako sa [1, 2, 3, 4, 5] gawin
- & gt; print (i)
- & gt; hanggang sa i & gt; = 3
- Ang bagong `do / hanggang` loop ay umuulit hanggang sa matugunan ang isang partikular na kundisyon:
- & gt; c: = 0;
- & gt; gawin
- & gt; inc c;
- & gt; print (c)
- & gt; hanggang sa c & gt; = 3
- Sa `mga` mga loop na numeric, ang `to` na sugnay ay hindi maaaring ibigay pa. Sa halip, kapag nag-iiwan ng sugnay na `sa`, ang loop ay umuulit hanggang sa ang pinakamalaking numero na makikita sa iyong platform, sa C HUGE_VAL, ay naabot na:
- & gt; para sa ako
- & gt; print (i)
- & gt; od
- Ang sugnay ng bagong `onsuccess` sa mga pahayag ng` if` at `case` ay nagsasagawa ng isang bahagi kung ang isa sa mga kundisyon ay totoo. Mga halimbawa:
- & gt; flag: = false;
- & gt; kung 1 = 0 pagkatapos
- & gt; print (0)
- & gt; elif 1 = 1 pagkatapos
- & gt; print (1)
- & gt; onsuccess
- & gt; bandila: = true
- & gt; iba pa
- & gt; print (-1)
- & gt; fi;
- & gt; print (bandila);
- totoo
- & gt; flag: = false;
- & gt; kung 1 = 0 pagkatapos
- & gt; print (0)
- & gt; elif 1 = 0 pagkatapos
- & gt; print (1)
- & gt; onsuccess
- & gt; bandila: = true
- & gt; iba pa
- & gt; print (-1)
- & gt; fi;
- & gt; print (bandila);
- false
- & gt; flag: = false;
- & gt; a: = 2;
- & gt; kaso ng isang
- & gt; ng 1 pagkatapos
- & gt; print (1)
- & gt; ng 2 pagkatapos
- & gt; print (2)
- & gt; onsuccess
- & gt; bandila: = true
- & gt; iba pa
- & gt; print (-1)
- & gt; esac;
- & gt; print (bandila);
- totoo
- Ang bagong pahayag ng `import 'ay nagbibigay-daan upang mag-import ng isa o higit pang mga aklatan nang hindi inilalagay ang kanilang mga pangalan sa mga panipi, hal. Ang "import calc, stats" ay katumbas ng "readlib ('calc', 'stats')".
- Ang opsyon na `alias` sa pahayag ng` import` ay nagtatalaga ng isa o higit pang mga maikling pangalan sa mga function ng library na isinagawa, hal. Ang "import calc alias xpdiff" ay katumbas ng "with ('calc', 'xpdiff')", at "import calc alias" ay katumbas ng "with ('calc')".
- Pinapayagan ng bagong operator ng `..` na i-index ang mga talahanayan kahit na sinusubaybayan ng kaliwang bahagi nito at sinusuri sa` null`. Sa kasong ito, ang `null` ay ibinalik at walang` pagtatangka na i-index ang field ... (isang null value) `error ay ibinibigay. Ito ay katulad ng function na `getentry` ngunit tatlong beses na mas mabilis. Mga halimbawa:
- & gt; lumikha ng talahanayan;
- & gt; a.b:
- null
- & gt; a.b.c:
- Error sa stdin, sa linya 1:
- subukang i-index ang patlang na `b` (isang null na halaga)
- & gt; a..b..c:
- null
- & gt; lumikha ng talahanayan;
- & gt; isang [1]:
- null
- & gt; isang [1]: 2:
- Error sa stdin, sa linya 1:
- subukang i-index ang patlang na `?` (isang null na halaga)
- & gt; a .. [1] .. [2]:
- null Sinusuri ng bagong `function 'dram ang natitirang bahagi ng isang integer division x / y, ngunit salungat sa` irem`, bilugan ang panloob na quotient x / y sa pinakamalapit na integer sa halip na patungo sa zero.
- Ang bagong function na `skycrane.todate` ay nagbabalik sa kasalukuyang petsa at oras bilang isang na-format na string.
- Ang bagong function na `io.truncate` ay nagpaputok ng isang file sa kasalukuyang posisyon ng file.
- Ang bagong function na `io.move` ay nagbabago sa posisyon ng file ng isang ibinigay na bilang ng mga character sa kaliwa o kanan.
- Ang bagong function na `io.filesize` ay nagbabalik ng laki ng isang file.
- `readlib` ngayon ay tumatanggap ng mga string bilang mga argumento nito, lamang. Ang mga numero ay hindi pinapayagan.
- Kung ang huling argumento sa `may` ay ang Boolean` false`, kung gayon ang pag-andar ay hindi sumulat ng mga nakatalagang maikling pangalan sa console (stdout).
- Ang mga string na `` ngayon ay tumatanggap din ng pagkakasunud-sunod ng mga numero ng index. Gayunpaman, hindi ito tanggapin ang indeks ng `0`.
- Kasama na ngayon ng installer ng Raspberry Pi Wheezy Debian ang pakete ng graphics na `gdi`.
- Ang file na `change.log` ay ipinapakita na ngayon nang tama sa Windows.
Ano ang bago sa bersyon 2.0.0 RC3:
- Ang mga bagong variant ng loop `para sa / bilang` at` para / hanggang `suriin ang isang kalagayan sa dulo ng kasalukuyang pag-ulit at alinman sa magsimula sa susunod na pag-ulit o iwanan ang loop. Ito ay gumagana sa parehong para sa / sa, pati na rin sa / sa mga loop.
Ano ang bago sa bersyon 2.0.0 RC2:
- Ang mga bagong variant ng loop `para sa / bilang` at` para / hanggang` suriin ang isang kalagayan sa dulo ng kasalukuyang pag-ulit at at alinman sa magsimula sa susunod na pag-ulit o mag-iwan ng loop. Ito ay gumagana sa parehong para sa / sa, pati na rin sa / sa mga loop.
Ano ang bago sa bersyon 2.0.0 RC1:
- Ang bagong pahayag ng `import 'ay nagbibigay-daan upang mag-import ng isa o higit pang mga aklatan nang hindi inilalagay ang kanilang mga pangalan sa mga panipi, hal. Ang "import calc, stats" ay katumbas ng "readlib ('calc', 'stats')".
- Ang opsyon na `alias` sa pahayag ng` import` ay nagtatalaga ng isa o higit pang mga maikling pangalan sa mga function ng library na isinagawa, hal. Ang "import calc alias xpdiff" ay katumbas ng "with ('calc', 'xpdiff')", at "import calc alias" ay katumbas ng "with ('calc')".
- Pinapayagan ng bagong operator ng `..` na i-index ang mga talahanayan kahit na sinusubaybayan ng kaliwang bahagi nito at sinusuri sa` null`. Sa kasong ito, ang `null` ay ibinalik at walang` pagtatangka na i-index ang field ... (isang null value) `error ay ibinibigay. Ito ay katulad ng function na `getentry` ngunit tatlong beses na mas mabilis.
Ano ang bago sa bersyon 1.12.9:
- Ang mga bagong function na `io.getclip` at` io.putclip` mga teksto ng palitan sa pagitan ng Agena at ng clipboard (Windows lamang).
- `stats.prange` ay muling isinulat sa C at naging hanggang sa 60% na mas mabilis.
- `os.cpuinfo` ngayon ay nagbabalik ng tama at higit pang impormasyon sa mga sistema ng batay sa ARM.
- `stats.obcount` at` stats.obpart` ay hindi maaring isama ang mga halaga sa pinakamalapit na subinterval. Naayos na ito.
- `calc.nakspline`,` calc.naksplinecoeffs`, `calc_clampedspline`, at` calc_clampedsplinecoeffs` pukawin ang mga pagkakamali ng segmentation kung tinatawag na isang istraktura na naglalaman ng masyadong ilang mga punto, ibig sabihin, mga pares. Naayos na ito sa pamamagitan ng pagbalik ng `fail` sa mga kasong ito. Ang mga potensyal na error sa deallocation ng memorya ay inalis mula sa `calc.neville`,` calc.interp`, `calc.newtoncoeffs`,` calc.naksplinecoeffs`, `calc.clampedsplinecoeffs`,` calc.nakspline`, at `calc.clampedspline`.
- Ang bagong function ng API API na `agn_checkinteger` ay sumusuri kung ang isang argument ay isang numero at isang integer at - salungat sa` luaL_checkinteger` - nagpapahayag ng isang error kung hindi man.
Sa mga sistema ng DOS at UNIX kabilang ang Mac OS X at lamang sa komplikadong domain, ang exponentiation ng base 0 sa exponent 0 + r * I, na may alinmang zero-float, ay bumalik na `hindi tinukoy 'sa halip na 0. Naayos na ito.
Sa mga sistema ng DOS at UNIX kabilang ang Mac OS X at lamang sa komplikadong domain, ang exponentiation ng base 0 sa exponent r + 0 * I, sa anumang positibong float, ay bumalik sa `hindi tinukoy 'sa halip na 0. Ito ay naayos.
Ang
Ano ang bago sa bersyon 1.9.0:
- Binabago ng bagong function na `alternate` ang unang argument nito kung ang pangalawang argument ay` null`. Kung hindi, ibabalik nito ang pangalawang argumento nito.
- Ang -b switch sa executable ng Agena ay inalis dahil ang output nito ay kapareho ng opsyon na -v.
- Ang mga bersyon ng Windows at UNIX / Mac ng `mga string.utf8size` ay naglalaman ng potensyal na pagtagas ng memory; ito ay nabago.
- Ang lahat ng mga binary DLL / SOs ng mga plus library ay hindi na naglalaman ng hindi nagamit na code, pinapalitan ang kanilang mga laki ng hanggang 10 porsiyento, depende sa operating system. Ang makefile at ang mga mapagkukunan na dati nang nag-import ng mga hindi nagamit na mga file ng header ay binago. Halimbawa, binabawasan nito ang laki ng mga binary ng Windows sa pamamagitan ng 55 kBytes.
- Pinalawak na ang test suite.
- Na-update ang mga file ng scheme.
Ano ang bago sa bersyon 1.6.0:
- Mga Bagong Mga Pag-andar at Mga Tampok:
- Ang `checktype` ng bagong function ay tumutukoy kung ang lahat ng mga halaga sa isang istraktura ay isang binigay na uri.
- Ang bagong function na `isint` ay sumusuri kung ang lahat ng mga argumento nito ay integer.
- Ang bagong function na `strings.dleven` ay nagbabalik sa Damerau-Levenshtein na distansya ng dalawang string.
- Ang bagong function na `stats.ad` ay tumutukoy sa ganap na paglihis ng lahat ng mga halaga sa isang istraktura.
- Ang bagong function na `stats.countentries` ay binibilang ang bilang ng paglitaw ng lahat ng mga elemento sa isang istraktura.
- Ang bagong function na `stats.deltalist` ay nagbabalik ng istraktura ng mga deltas ng kani-kanilang mga elemento sa kalapit.
- Ang bagong function na `stats.gmean` ay nagbabalik ng geometriko na kahulugan ng isang istraktura.
- Ang bagong function na `stats.hmean` ay nagbabalik ng maharmonya na kahulugan ng isang istraktura.
- Ang bagong function na `stats.ios` ay nagbabalik ng isang napatunayan na tagapagpahiwatig sa katatagan sa pamamahagi.
- Ang bagong function na `stats.iqr` ay nagbabalik sa hanay ng interquartile.
- Ang bagong function na `stats.issorted` ay sumusuri kung ang lahat ng mga numero sa isang istraktura ay pinagsunod-sunod sa pataas na order.
- Ang bagong pag-andar na 'stats.moment` ay binubuo ng sandali ng ibinigay na data tungkol sa pinagmulan.
- Ang bagong function na `stats.numbperm` ay nagbabalik ng bilang ng mga permutasyon.
- Ang bagong function na `stats.percentile` ay tumutukoy sa mga porsyento.
- Ang bagong function na `stats.skewness` ay nagbabalik sa skewness, isang tagapagpahiwatig ng mahusay na proporsyon ng isang probabilidad na pamamahagi.
- Ang bagong function na `stats.sumdata` ay naglalagay ng lahat ng mga kapangyarihan ng istraktura tungkol sa pinagmulan.
- Ang `stats.tovals` ay isa na ngayong function ng library sa C at sa gayon ay hanggang 40 porsiyento na mas mabilis.
- Gamit ang isang walang laman na talahanayan o pagkakasunud-sunod, `stats.qmean`,` stats.mean`, `stats.gmean`,` stats.sd`, `stats.median`,
- `stats.var` bumabalik na ngayon.
- Ang maximum na haba para sa isang input line sa stand-alone na interpreter ay binago mula sa 512 hanggang 2048 na mga karakter.
- Ang bagong environment variable `environ.maxpathlength` ay nagtatabi ng maximum na bilang ng mga character para sa path ng file (hindi kasama ang karakter ni C).
- Ang mga bagong kapaligiran na variable na 'environ.minnumber` at `environ.maxnumber` ay nagtataglay ng minimum at maximum na halaga na isang numero ng Agena (kasalukuyang isang ANSI-C double) na maaaring mag-imbak.
- Ang bagong environment variable `environ.umaxlong` ay kinabibilangan ng pinakamataas na halaga ng integral ng uri ng unsigned na C sa haba ng mga 32 + bit system, at hindi linagdaan ang haba sa mga 16bit machine.
- C API:
- 100% na compatibility ng Agena C API sa C API ng Lua ay muling itinatag sa pamamagitan ng pagpapasok ng mga function ng dump ng Lua. Sa gayon ay maaari kang mag-imbak ng mga function sa isang binary na representasyon, hal. sa pamamagitan ng paggamit ng `strings.dump` o lua_dump sa antas ng C.
- Ipinakilala ang bagong function na `agnL_optboolean` upang suriin ang mga opsyonal na argumento ng Boolean at ibalik ang mga ito kung sakaling tagumpay.
- Pag-aayos ng Bug:
- `environ.globals` laging huminto sa isang error, naayos na ito.
- `ipagpalagay` ay bumalik sa parehong mga argumento nito o sinusuri sa 'hindi natukoy'. Ito ngayon ay totoo sa kasong ito.
- Nag-crash si Agena sa paglipas ng isang walang laman na talahanayan at isang delimitor sa `sumali` - naayos na ito.
- Ang pagpipiliang `kulay 'ay hindi na binabalewala ng` gdi.plot`.
- Sa mga talahanayan, ang `stats.minmax` ay nagbalik ng maling halaga para sa minimum. Ito ay gumagana nang tama.
- Gamit ang isang walang laman na talahanayan, ang `stats.median` ay nagbalik 0, ngayon ito ay nagbabalik na mabibigo.
- Taliwas sa dokumentasyon, ang `mga string.isending` nagbalik 'totoo' na may parehong mga string na pantay. Naayos na ito.
- `run` bumalik` ay hindi mabuksan ang file` kung ang isang umiiral na script ng Agena ay nagsama ng isang syntax error. Naayos na ito sa ganap na muling pagsusulat ng function.
- Nagdagdag ng Lua 5.1.4 patch 9: "Maling henerasyon ng code para sa ilang partikular na [hal. kumplikadong] boolean expression."
- Nagdagdag ng Lua 5.1.4 patch 11: "Maaaring mangolekta ang Parser ng prototype habang binubuo ito."
- Inalis ang hindi ginagamit na keyword na `default`.
- Ang ilang mga hardening ng mga function at tampok.
- Mga Pagpapahusay:
- Nagdagdag ng _experimental_ na bersyon ng `io.anykey` sa bersyon ng Mac. Gayunpaman, hindi bababa sa Lion, ang key na pinindot minsan ay echoed sa shell.
- `utils.readcsv` maaari na ngayong opsyonal na ibalik ang lahat ng mga halaga sa isang CSV file sa isang flat sequence.
- Sinusuportahan na ngayon ng package na `clock` ang operator ng division` / `sa pamamagitan ng pagdagdag nito sa metatable ng operator ng` tm`.
- Ang pag-uugali ng `may` ay nabago dahil hindi ito maaaring magtalaga ng mga maikling pangalan para sa maraming mga function sa library: Kung ang mga function ay inilagay sa .o talahanayan, huwag magtalaga ng mga maikling pangalan para sa mga pangalan ng function; kung hindi magtalaga ng mga maikling pangalan para sa _all_ iba pang mga function ng pakete. Kaya: `package.register` upang irehistro ang lahat ng mga pag-andar ng library para sa` may` upang magtalaga ng mga maikling pangalan, ay hindi na kinakailangan. Ito ay hindi papahintulutan sa isa sa mga sumusunod na release.
- Pinagbuting ang test suite.
- Mano-manong:
- Pinabuting ang manu-manong at ang index.
- Pagkakaiba-iba:
- Para sa lahat ng mga sumusunod na pagbabago, ang mga sumusunod na lumang pangalan ng variable ay sinusuportahan pa rin.
- Ang `environ.MinLong` ay pinalitan ng pangalan sa` environ.minlong`.
- `environ.MaxLong` ay pinalitan ng pangalan sa` environ.maxlong`.
- `environ.BufferSize` ay pinalitan ng pangalan sa` environ.buffersize`.
- `environ.PathSep` ay pinalitan ng pangalan sa` environ.pathsep`.
- `environ.More` ay pinalitan ng pangalan sa` environ.more`.
- `environ.WithProtected` ay pinalitan ng pangalan sa` environ.withprotected`.
- `environ.Os` ay pinalitan ng pangalan sa` environ.os`.
- Ang `environ.Cpu` ay pinalitan ng pangalan sa` environ.cpu`.
- `environ.Release` ay pinalitan ng pangalan sa` environ.release`. Ang
- `environ.GdiDefaultOptions` ay pinalitan ng pangalan sa` environ.gdidefaultoptions`.
- Sa Windows, ang `os.login` at` os.computername` ngayon ay bumalik 'mabibigo' tulad ng ginagawa ng UNIX o OS / 2 na mga bersyon.
- Ang switch ng `-DCOMPAT13` ay sa wakas ay inalis para sa pag-compile ng Agena 1.3.x complient na bersyon.
- Iba pa:
- Tinanggal na ang hindi na ginagamit na `calc.fseq`. Mangyaring gamitin ang `nseq` sa halip.
* Impormasyon: Pagdaragdag ng Lua 5.1.4 patch 10, "[__write / __ bagong] index metamethod ay maaaring hindi gumana kung ang metatable ay kanyang sariling metatable", sa Agena ay hindi kinakailangan, para sa Agena ay gumagana nang tama sa kasong ito.
Ang
Ang
Ano ang bago sa bersyon 1.5.1:
- Patched `strings.fields` na hindi gumagana sa lahat. Gayundin, ito ay na-convert sa isang function sa library C at sa gayon ay 2.6 beses na mas mabilis.
- `strings.words` ay tumatanggap na ngayon ng pangatlong argument, kung nakatakda sa` true`, ang mga sumusunod na delimiter ay hindi pinansin.
- Inalis ang isang posibleng pagtagas ng seguridad mula sa `io.write` at` io.writeline` at pinahusay ang mga mensahe ng error nito.
- Patched `binio.readchar` upang maiwasan ang mga problema sa mga file ng laki na mas malaki pagkatapos ng 2 GBytes.
- Nawastong mga mensahe ng error sa mga function na `xbase.purge`,` xbase.readvalue`, `xbase.purge`,` ads.getvalues`, `binio.readshortstring`,` os.computername`, `os.login`, `os.fattrib`,` environ.kernel`, `package.register`.
- Ang Terabytes ay maipasok na ngayon sa notasyon T, kung saan ay isang integer, at ang T ay ang karakter na `T`. Gayon din, g nagpapahiwatig ng bilyun-bilyon, at t trilyon. Tingnan ang pahina 48 ng manwal para sa karagdagang impormasyon.
- Na-update ang manu-manong.
- Karamihan sa lahat ng pabalik na pagkakasunod sa pagiging tugma sa C source code ay inalis para sa mga dahilan sa paglilinis ng code. Ito ay nakakaapekto lamang sa mga nagsisikap mag-recompile ng Agena 1.5 o mas mataas na may ganap na pabalik na pagkakatugma sa Agena 1.3 at 1.4, at sa karamihan ng pabalik na pagkakatugma sa Lua 5.0 (maliban sa lumang paghawak ng library ng Lua 5.0).
Ang
Ano ang bago sa bersyon 1.5.0:
- `mapa` ay maaari ring iproseso ang mga string na ibinigay bilang pangalawang argument nito. Ang kani-kanilang pag-andar at ang mga argumento nito ay na-apply sa bawat karakter mula kaliwa hanggang kanan, at ang resulta ay ibinalik sa isang pagkakasunud-sunod.
- `run`: Kung nais mong i-load at isakatuparan ang code mula sa mga file na may suffix na 'agn', hindi mo na kailangang tukuyin ang suffix sa argumento anumang mas mahaba pa. Kaya ang `run 'test'` at` run' test.agn'` ay pareho na ngayon.
- Ang keyword na `ay` ay obligado na tukuyin ang mga pamamaraan. (Gamit ang GCC, gamitin ang -DCOMPAT14 switch upang mag-compile ng isang bersyon ng Agena kung saan ang `ay` keyword ay opsyonal pa rin.)
- Ang pahayag ng `try` ay hindi na ginagamit at hindi na sinusuportahan. (Gamit ang GCC, gamitin ang -DCOMPAT14 switch upang mag-compile ng isang bersyon ng Agena na nagtatampok pa rin ng pahayag na ito.)
- Ang mga sumusunod na function na `utils` ay inalis na:` arraysize`, `getarray`,` getwholearray`, `newarray`,` searcharray`, `setarray`. Para sa backward compatibility, sila ay naidagdag sa lib / compat.agn file. (Gamit ang GCC, gamitin ang -DCOMPAT14 switch upang mag-compile ng isang bersyon ng Agena na suportado pa rin ang mga orihinal na function ng utils.)
- `utils.singlesubs` ay ganap na muling isinulat. Inaasahan na ngayon ng pagkakasunud-sunod ng mga numero bilang pangalawang argument sa halip na dating na stringarray userdata structure. Ito ay 35% na mas mabagal kaysa sa dating bersyon, ngunit ang pag-alis ng istraktura ng stringarray ay mas mahalaga.
- `strings.include` nag-crash kung tinatawag na 0 bilang pangalawang argument. Naayos na ito.
- Inilapat ang patong ni Michael G. Schwern noong Mayo 10, 2011 sa kanyang mga function na pang-aapi na 32-bit-Year 2038-Fix` na ginagamit ng mga `os` at` xbase` na mga pakete (`Gumawa ng mktime64 () tama ang papasok na tm struct gaya ng hinihiling ng ISO C. ')
- Pag-optimize ng panloob na code: ang ilang initialisation ng library at pag-load ng file na function ng C ay gumagamit ng stack upang bumuo ng mga string at filename string. Ang bagong function ng Aux `concat` na isinulat ng Solar Designer ay ginagamit na ngayon sa maraming kaso.
- Ang Agena C API ngayon ay 100% na katugma sa Lua C API upang mapabilis ang pag-port ng mga pakete ng C Lua sa Agena.
- Ang mga sumusunod na function ay pinalitan ng pangalan: 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.
- Ang mga sumusunod na macros ay pinalitan ng pangalan: luaL_checkint - & gt; agnL_checkint, luaL_optint - & gt; agnL_optint.
- Taliwas sa pagpapatupad ng dating Agena, ang lua_tonumber ay nagbalik ngayon 0 tulad ng sa Lua kung ang isang di-numero ay naipasa, sa halip na bumalik HUGE_VAL.
- lua_setglobal2 ay naalis na. Gamitin ang lua_pushvalue at lua_setglobal sa halip.
Ano ang bago sa bersyon 1.4.2:
- Kung sa listahan ng parameter ng isang pamamaraan na tinukoy ng mga uri ng tinukoy ng user, sa
- pamamaraan tumawag walang mga error na ibinigay at ang pamamaraan ay pinaandar sa halip, sa mga sumusunod na kaso:
- a) isang table, set, sequence, pares, o pamamaraan - nang hindi tinukoy ng user
- type - ay naipasa na,
- b) walang halaga ang naipasa para sa parameter na nababahala.
Ano ang bago sa bersyon 1.4.1:
- Ang mga maikling pangalan para sa `stats.quartiles` at` stats.mode` ay hindi maitatalaga ng `sa` function. Naayos na ito.
- Di-wasto, `may` hindi maaaring magtalaga ng maikling pangalan para sa` gdi.settriangle`. Nabago na ito.
- Na-pinabuting ang paghawak sa `calc.polygen`.
- Pinabuting mensahe ng error ng `fractals.draw` para sa nawawalang FRACTINT na mga file ng mapa.
- Inalis ang hindi wastong function na `strings.rseek`. Para sa backward compatibility, ang `strings.seek` ay idinagdag sa lib / compat.agn file.
- Nagdagdag ng -d switch upang i-print ang impormasyon ng pag-debug sa panahon ng startup ng interpreter.
- Ang Windows na bersyon ng Agena ay pinagsama na ngayon sa GCC 4.5.2.
- Nai-update na mga file ng scheme ng wika.
- Na-update ang manu-manong.
Ano ang bago sa bersyon 1.4.0:
- Mga Pagbabago sa Semantiko:
- Ang mga variable ng control ng pag-ikot ng numerong `para sa / sa` mga loop ay awtomatikong na lokal na ngayon sa kanilang mga nakapaligid na bloke sa halip ng kanilang mga (inner) loop body. Kung ang isang lokal na variable na may parehong pangalan gaya ng loop control variable ay ipinahayag at nakatalaga bago
- pagsasagawa ng numeric loop, ito ay mapapatungan ng huling halaga ng pag-ulit ng loop. Kung gayon, ang `panlabas na` switch sa numero `para sa` mga loop ay hindi na tinatanggap. (Gamit ang GCC, gamitin ang -DCOMPAT13 switch upang mag-compile ng isang bersyon ng Agena na nakikilala pa rin ngunit hindi pinapansin ang `panlabas` keyword.)
- Gamit ang pare-pareho na `mabigo`,` hindi` ibabalik `true`, ngunit sa` fail` na nakatalaga sa isang variable, `hindi` ibalik ang mali. Ito ay nabago, i'e. 'a: = fail; hindi (a) 'ngayon ay nagbabalik ng `totoo`.
- `stats.median` ngayon ay nagbabalik` mabigo` sa halip ng 0 kung ang ibinigay na istraktura ay walang laman.
- `utils.readcsv`: Kung ang isang solong puting espasyo ay naipasa sa opsyong` delim` at kung hindi binibigyan ang opsyon na `ignorespaces`, ang mga puting espasyo ay hindi awtomatikong tatanggalin bago masira ang bawat linya ng file sa ang mga salita nito.
- Ang function ay may dalawang bagong mga pagpipilian: `header` na nagmamarka sa unang linya sa isang file, at` output` na nagpapahintulot sa pag-imbak ng mga nilalaman ng file sa isang diksyunaryo na may mga pangalan ng field na tinukoy ng header ng file.
- Ang notepad na `$` substring ay hindi na suportado. (Gamit ang GCC, gamitin ang-DCOMPAT13 switch upang ipunin ang isang bersyon ng Agena na suportado pa rin ang `$` na operator.)
- Mga Extension:
- Ang mga walang katapusan na gawin / mga loop ay idinagdag. Ang ganitong uri ng loop ay iterates walang hanggan at maaaring magambala lamang sa pahayag ng `break` o` return`. Ang mga ito ay syntactic asukal para sa `habang totoo gawin ... od` loop.
- Sa mga talahanayan, ang `stats.minmax` ay dating nagtrabaho lamang sa mga arrays. Binago ito, ibig sabihin, mga halaga na may katumbas na mga di-positibong key (hal. Mga string, di-positibong integer, negatibo at positibong kamay, atbp.) Ay maayos na kinikilala sa pagsusuri.
- `stats.mean`,` stats.qmean`, `stats.sd`, at` stats.var` ngayon ay nagpoproseso rin ng mga pagkakasunud-sunod.
- Ang bagong function na `stats.mode` ay nagbabalik ng lahat ng mga halaga sa isang pagkakasunud-sunod o talahanayan na may pinakamalaking bilang ng mga pangyayari, ibig sabihin, pinakamataas na dalas.
- Ang bagong function na `stats.quartiles` ay nagbabalik ng una, pangalawa, at pangatlong kuartile ng isang _sorted_ table o sequence.
- Ang mga undocumented na dati ng `linalg.matrix` ay idinagdag sa manu-manong at pinabuting ang paghawak ng error.
- Pinahusay na paghawak ng error ng `linalg.hilbert`.
- `gdi.setinfo` ngayon ay tumatanggap ng opsyong` square`. Kung `square = false`, ang x at y axes ay hindi magkakaroon ng parehong sukatan sa mga plots na nilikha gamit ang` gdi.plot`.
- Ang function na `gdi.plot` upang gumuhit ng graphics sa kasamaang palad ay hindi dokumentado. Nabago na ito.
- Kung ang istrakturang PLOT ay ipinasa sa `gdi.plot` na naglalaman lamang ng mga POINT, LINES, RECTANGLES, TRIANGLE, CIRCLE, at ELLIPSE (kasama ang kanilang * FILLED variant), pagkatapos ay ang` gdi.plot` ay awtomatikong tinutukoy ang mga antas (` gdi.setinfo` ay hindi kinakailangang tawagin).
- Ang mga tampok ng OOP na minana mula sa Lua ay ngayon na dokumentado sa Appendix A9. Hindi inirerekomenda ng may-akda ang mga object-oriented programming.
- Tuning:
- Nakatakdang` puno` na operator ng humigit-kumulang sa 3%.
- Tweaked `in`,` join`, `sadd`,` qsadd`, `replace`,` copy`, `unique`, at ang mga operator ng set sa mga talahanayan at nagtatakda nang kaunti.
- Sa mga talahanayan, ang mga operator ng `itaas` at` ibaba` ay mga 5% na mas mabilis na ngayon.
- Ang operator ng `size` ay hindi bababa sa 8% na mas mabilis kung ang isang table ay hindi kasama ang nulls.
- `linalg.mzip`,` linalg.mmul`, at `linalg.transpose` ay nakatutok sa paligid ng 3% bawat isa.
- Ang numerong para sa / sa mga loop na may mga praksyonal na sukat na hakbang ay na-optimize sa pamamagitan ng pagbawas ng bilang ng kanilang mga variable ng kontrol sa pamamagitan ng kalahati. Gayunpaman, hindi ito nakakamit ng anumang pagtaas sa bilis.
- Mga patch:
- Patched `linalg.ludecomp` upang makita ang mga singular na matrices. Gayundin, ang function ay maaari na ngayong awtomatikong matukoy ang pagkakasunud-sunod ng ibinigay na matrix.
- Taliwas sa manu-manong, ang `gdi.plot` ay hindi awtomatikong tinutukoy ang mga pahalang at patayong mga saklaw. Naayos na ito.
- `gdi.plot` ay hindi na pinapansin ang opsyong` square` na itinakda ng `gdi.setinfo`.
- `gdi.setinfo` Nagdagdag ng mga setting sa mga istrukturang INFO kahit na naroroon na sila. Nabago na ito.
- Ang mga lupon ay hindi maayos na nakalagay sa `gdi.plot`. Nabago na ito.
- Ang function na `gdi.plot` sa karamihan sa mga kalagayan ay hindi pinansin ang indibidwal na kulay ng mga geometric na bagay. Nabago na ito.
- Ang mga pakete ng fractals ay hindi nagtalaga ng mga maikling pangalan para sa mga function ng tinukoy ng user na 'esctime'. Nabago na ito. Nawastong mensahe ng error ng `fractals.draw` kung positional arguments ay hindi numero.
- Miscellaneous:
- Ang pag-andar ng `calc.fseq` ay pinagsama sa` nseq`. Para sa pabalik na pagkakatugma, ang `calc.fseq` ay bahagi pa rin ng pakete ng calc, ngunit ang tungkulin ay aktwal na tumutukoy sa pagpapatupad ng` nseq`.
- Nagdagdag ng variable ng `environ.FractScreenUpdates` sa pakete ng` fractals` upang tukuyin ang bilang ng mga vertical na linya (isang di-negatibong integer) kung saan ang isang fractal ay maa-update sa isang window. Ang `environ.FractOptimised` na variable ay na-deprecated.
- Ang mga function ng mga boluntaryong gdi ay naipon na muli.
Ang
Tinatanggap ng `gdi.plot` ang dalawang bagong opsyon: Ang 'x' na opsiyon ay tumutukoy sa pahalang na hanay kung saan ang isang balangkas ay ipinapakita, at tinutukoy ng opsyon na 'y' ang vertical range.
Ang pakete ng gdi ay hindi nagtalaga ng mga maikling pangalan para sa `gdi.settriangle`,` gdi.settrianglefilled`, `gdi.setrectangle`, at` gdi.setrectanglefilled`. Nabago na ito.
Ano ang bago sa bersyon 1.3.3:
- Patches sa `tagubilin`:
- Kapag nasa regex mode, nagbalik ang operator ng maling resulta kung ang isang posisyon ng pagsisimula ay ibinigay.
- Kapag nasa plain mode ng paghahanap, ang operator ay nagbalik ng isang error sa labas ng hanay kung walang ibinigay na posisyon sa pagsisimula.
- Maliban sa reverse mode ng paghahanap, kung walang nakitang tugma, ang unang argument ay naibalik sa halip na `null`.
- Nawastong mensahe ng error ng `create` na pahayag tungkol sa mga pagkakasunud-sunod.
Sa AgenaEdit, kapag ang outputting ng higit sa isang istraktura na may isang tawag lamang sa `print`, ang mga istraktura ay hindi naka-print sa buong anyo kung ang unang istraktura ay nagtatampok ng isang __tostring metamethod. Nabago na ito.
Ano ang bago sa bersyon 1.3.2:
- Ang release na ito ay may kasamang mga pag-aayos ng bug, extension, at pinabuting manual:
- `dimensyon 'ay lumikha ng mga kagiliw-giliw na resulta kung ang isang istraktura ay naipasa bilang
- initialiser. Binago na ito: `ngayon ay lumilikha ng mga independyenteng kopya ng
- istraktura kapag sinisimulan ang talahanayan.
- Ang pag-andar ng `strings.rseek` ay idinagdag sa operator ng` instr`.
- Kaya, ang `strings.rseek` ay hindi na ginagamit. Para sa backward compatibility,
- Ang `strings.rseek` ay idinagdag sa lib / compat.agn file.
- sa pamamagitan ng pagpasa ng isang boolean bilang pangatlong argumento.
- `strings.isabbrev` at` stringings.isending` ngayon ay awtomatikong gumagamit ng isang simpleng paghahanap
- kung walang ipinagkakaloob na mga regular na expression o kinukuha bilang bahagi ng pangalawang
- argumento.
- Tweaked `strings.ismagic` at` strings.isfloat`.
- Ang pag-andar ng `log` ngayon ay mas mabilis na 13%.
- Kapag nag-output ng higit sa isang istraktura na may isang tawag lamang sa `print`,
- Ang mga istraktura ay hindi nakalimbag sa buong anyo kung ang unang istraktura ay nagtatampok ng __tostring
- metamethod. Nabago na ito.
- Nagdagdag ng mga categorisation ng mga function sa Kabanata 7 upang mapadali ang simula para sa bagong
- mga gumagamit.
Sinusuportahan na ngayon ng `strings.hits` ang mga regular na expression at nakukuha. Ang pag-uugali na ito
maaaring naka-off ang
Ano ang bago sa bersyon 1.3.1:
- Nagkaroon ng mga problema sa mga nested na tawag sa mga sumusunod na mga operator ng binary: `xor`,` atendof`, `& amp; & amp;`, `` ``, `` ``, `::`, at `: - `, at gayon din sa mga kaakit-akit na printer na huminto sa isang error kapag naka-print nested istruktura. Naayos na ito.
- Apat na mga pag-aayos sa `os.list`: Kung ang opsyon na 'r' ay naipasa na, ang kasalukuyang gumaganang direktoryo ay naging mali ang pagbabago pagkatapos makumpleto ang tawag.
- Kung ang 'r' ay hindi naipasa bilang huling argument, ang function ay nagbigay ng error.
- `null` ay hindi tinanggap bilang unang argumento upang tukuyin ang kasalukuyang gumaganang direktoryo.
- Kapag ang isang string ay na-index na may di-numero, hal. "str [null]", bumalik si Agena na `null`. Ngayon isang error ay nakataas.
- Kung ang library.agn ay hindi natagpuan ang maling landas ay na-output ng dalawang beses sa babala. Nabago na ito.
Sa Windows 7, ang pag-print ng mga nilalaman ng direktoryo ng root ay hindi gumagana, i.e. os.list ('c:') ibinalik ang mga nilalaman ng kasalukuyang gumaganang direktoryo.
Ano ang bago sa bersyon 1.2:
- Ang substring operator ay muling idisenyo ngunit ang lumang bersyon ay magagamit pa rin hanggang sa Agena 2.0: ang bago ay: `str [pakaliwa sa kanan]`, ang dating ay: `str $ (kaliwa, kanan)` . Isang halimbawa: bago: 'str: =' string '; print (str $ (2, 3)) `- & gt; 'tr' ngayon: `str: = 'string'; print (str [2 hanggang 3]) `- & gt; 'tr'
- Natutukoy mo na ngayon ang mga sublists ng mga array ng table at mga pagkakasunud-sunod gamit ang bagong syntax na binanggit sa itaas: `s [kaliwa papunta sa kanan]`. Isang halimbawa: ngayon: `a: = [10, 20, 30, 40]; print (a [2 to 3]) `- & gt; [20, 30] ngayon: `a: = seq (10, 20, 30, 40); print (a [2 to 3]) `- & gt; seq (20, 30)
- Pinapayagan ng function na `ops` ngayon upang tukuyin ang mga halaga na ibabalik sa pamamagitan ng pagpasa ng pagkakasunud-sunod ng kanilang mga posisyon sa index bilang unang argument nito, hal. ops (seq (1, -1), 10, 20,
- 30).
- Ang bagong function na 'stringingsinclude` ay nagsasama ng pagkakasunod-sunod ng karakter sa isang string
- sa isang naibigay na posisyon.
- Ang mga sumusunod na function ay nag-isyu ng isang error sa halip ng pagbalik lamang `fail` sa
- kaso ng kabiguan: `os.remove`,` os.move`, `os.mkdir`,` os.rmdir`, `os.chdir`.
- Pagpapabuti sa mga sumusunod na operator na nagtatrabaho sa mga hanay at mga pagkakasunod-sunod tungkol sa koleksyon ng basura: `insert` na pahayag,` union`, `intersection`,` minus`, `natatanging`,` copy`, `pop / top` at pahayag ng `pop / bottom ', at itakda ang mga takdang-aralin.
- Mas pinahusay na mensahe ng error ng `fractals.draw` kung ang FRACTINT color map file ay hindi
- ay hindi natagpuan.
Ano ang bago sa bersyon 1.1.0:
- Ang paglabas na ito ay nagtatampok ng bagong pag-andar at isang nililinis na namespace.
- Kaangkupan sa Agena 1.0:
- Ang ilang mga function ay inalis mula sa Agena at ang ilan ay na-convert sa mga function ng package (tingnan sa ibaba). Kung gusto mo pa ring gamitin ang mga ito, i-isyu ang readlib na 'compat' sa command line o ilagay ang pahayag sa itaas sa iyong initialisation file kung gusto mo ng back compatibility sa Agena 1.0.
- Pinalawak na Pag-andar:
- Ang mga pahayag ng `pop / top` at` pop / bottom` at mga operator sa `ibaba` at` itaas 'ay maaari ring ilapat sa mga array ng table.
- Kapag tinatawag na may `null` o walang mga argumento, ang` os.chdir` ay hindi na maglalabas ng error ngunit nagbabalik sa kasalukuyang gumaganang direktoryo. Kaya, ang dating `os.curdir` function C ay napalitan ng isang nakasulat sa wikang Agena.
- `os.list` ngayon recursively traverses subfolder kung ang bagong 'r' na opsiyon ay ibinigay.
- Ang tumatanggap ng `sumali` ngayon ay tumatanggap din ng isang opsyonal na delimitor at sinusuportahan ang opsyon upang tukuyin ang una at huling elemento ng istraktura upang ma-concatenated.
- `instr` ay maaari na ngayong maghanap mula sa kanang dulo ng isang string sa pamamagitan ng pagpasa ng isang negatibong posisyon. Kung ang isang talahanayan ay nagsasama ng iba pang mga talahanayan, mga hanay, mga pagkakasunud-sunod, o mga pares, ang `kopya` ngayon ay nakakaalam kung paano pangasiwaan nang maayos ang mga reperensiyang ito kung mangyari ang mga ito ng maraming beses: Kung ang isang naka-embed na istraktura ay kasama n beses, pagkatapos ay isang tunay na kopya ang ginawa at Ang mga n-1 na sanggunian sa bagong nilikha na istraktura ay ipinasok. Bago, n mga independyenteng kopya ang ginawa.
- Ang bagong function na `isnonposint` ay sumusuri kung ang ibinigay na mga numero ay lahat ng integers at di-positibo.
- `io.close` ay maaari na ngayong isara ang maramihang mga file na may isang tawag lamang.
- Ang `may` function ay hindi nagtalaga ng maikling pangalan para sa mga sumusunod na pamamaraan ng pakete ng `math`:` convertbase`, `fraction`,` zeroin`, `todecimal`,` lcm`, `gcd`, at` ndigits`. Naitama na ito.
- Ang function na `rwritemode` na binanggit sa manual ay hindi umiiral. Magagamit na ngayon ngunit tinatawag na `rmode`.
- Napabuti ang mga mensahe ng error sa iba't ibang mga function.
- Namespace Cleansing: Pinalitan ang pangalan o Inilipat na Mga Pag-andar:
- Ang mga pag-andar sa library ng `register` at` loadclib` ay inilipat sa `package` library.
- Inilipat sa bagong `rtable` ang dating` rdelete`, `rget`,` rinit`, `roinit`,` rmode`, `rset`,` remember`, at `defaults` na mga pag-andar sa base library .
- Pinalitan ang pangalan ng pandaigdigang talahanayan ng _Env sa `environ` na naglalaman din ngayon ng mga pamamaraan upang ma-access ang kapaligiran.
- Ang dating pandaigdig na `homedir` at` infolevel` na mga variable sa kapaligiran ay pinalitan ng pangalan sa `environ.homedir` at` environ.infolevel`, ayon sa pagkakabanggit.
- Ang sumusunod na mga function ng pangunahing library ay inilipat sa `` `` na pakete: `anames`,` attrib`, `gc`,` getfenv`, `globals`,` isselfref`, `pointer`,` setfenv` , `used`,` userinfo`, `__RESTART`,` __DOTTYPRINT`.
- Ang `mapm.xtoNumber` ay pinalitan ng pangalan sa` mapm.xtonumber`, `mapm.xtoString` ay pinalitan ng pangalan sa` mapm.xtostring`. Para sa back compatibility, ang lumang mga function function ay maaari pa ring gamitin sa pamamagitan ng pagpapatupad ng lib / compat.agn file (unang readlib ang `mapm` na pakete at pagkatapos ay i-load ang compat.agn file).
- Mga Deprecated na Pag-andar at Variable:
- Ang `strings.seek` ay na-deprecate. Ang pag-andar nito ay naidagdag sa operator ng `instr`. Upang i-off ang mode na pagtutugma ng mode ng instr instr, ipasa ang pagsisimula ng paghahanap bilang pangatlo at `totoo` bilang ikaapat na argument. `instr` ay humigit sa 40% na mas mabilis sa hindi pagtutugma ng mode na mode kaysa sa` strings.seek`. Para sa backward compatibility, ang `strings.seek` ay idinagdag sa lib / compat.agn file.
- Ang pag-andar ng library ng `concat` ay naalis na. Gamitin ang `sumali` sa halip. Para sa backward compatibility, ang dating function ay idinagdag sa lib / compat.agn file.
- Inalis ang `hasrtable` at` mayrotable` na mga function. Para sa backward compatibility, sila ay naidagdag sa lib / compat.agn file.
- Ang `pcall` function ay na-deprecated. Gamitin ang `protektahan` sa halip. Para sa backward compatibility, ang function ay naidagdag sa lib / compat.agn file.
- Ang function na `maptoset` ay hindi na ginagamit. Para sa backward compatibility, ang function ay naidagdag sa lib / compat.agn file.
- Ang function na `os.alldirs` ay hindi na ginagamit. Gamitin ang mga pagpipilian na 'dirs' at 'r' sa isang tawag sa `os.list` sa halip. Para sa backward compatibility, ang function ay naidagdag sa lib / compat.agn file.
- `os.isMac`,` os.isSolaris`, `os.isLinux`,` os.isWin`, `os.isOS2`,` os.isDOS`, `os.isHaiku` ay na-deprecated. Mangyaring gamitin ang mga bagong environment environment.Os at environ.Cpu sa halip, na nagpapabilis din ng code. Para sa backward compatibility, ang mga pag-andar ay naidagdag sa lib / compat.agn file.
- Ang variable ng undocumented _VERSION ay inalis. Para sa backward compatibility, ang pagtatalaga nito ay idinagdag sa lib / compat.agn file.
- Iba pang Mga Pagbabago:
- Ang function ng API na lua_rawsetstringnumber na nabanggit sa manual ay hindi umiiral. Nabago na ito.
- Pag-optimize ng code sa parser.
- Sa ilan sa mga pakete, di-sinasadya ang ilang mga variable ay ganap na ipinahayag sa pandaigdigan. Naayos na ito.
- Nawastong at na-update na mga sample file ng initialisation.
- Na-update na ang AgenaEdit.
- Na-update ang mga file ng scheme ng wika.
- Kasama na ngayon ng mga installer ng Linux ang xBase package.
Ano ang bago sa bersyon 1.0.6:
- Mas pinahusay na mga mensaheng error ng `sumali`,` copy`, at` puno na mga operator, ng `toset`,` toseq`, at `totable` na mga function, ng` insert`, `delete`,` pop na mga pahayag, at ng `para sa` mga loop.
- Gamit ang mga malalaking string, ang `concat` ay nag-crash. Naayos na ito.
- Sa pamamagitan ng mga string ng 512 at higit pang mga byte, ang `sumali` at` palitan` ay maaaring mag-crash. Naayos na ito. Ang dalawang operator ngayon ay mas mabilis pa kaysa sa dati.
- `math.isprime` ay nagbigay ng mga maling resulta sa mga argumento & gt; 2 ^ 31 (binanggit nang hindi maayos sa manu-manong). Naayos na ito sa pamamagitan ng pagpapalawak ng hanay ng argumento sa mga integer na may mga halaga hanggang sa +/- 2 ^ 63.
Sa mga pagkakasunud-sunod, nag-crash si Agena sa sumusunod na pagkakasunud-sunod ng mga pangyayari: 1) ang isang `delete` na pahayag ay naisakatuparan, 2) ang pagkakasunod-sunod ng dibdib ay walang laman, at 3) isang bagong elemento ang naipasok muli. Naayos na ito. (Panloob, ang pahayag ng `delete` ay hindi na nakakabawas sa loob ng laki ng mga pagkakasunud-sunod.)
Ang `math.nextprime` at` math.prevprime` ay may parehong isyu na may mas malaking argumento tulad ng `math.isprime`. Ito rin ay nabago. Sa argument 2, ang `io.nextprime` ay mali ang ibinalik 5 sa halip na 3. Naayos na rin ito.
Ano ang bago sa bersyon 1.0.5:
- `sumali` ay maaaring mag-crash sa Agena at kung hindi man ay kumilos nang hindi inaasahan kung ang nagresultang string
- Lumagpas sa 512 bytes. Nabago na ito.
- Kung ang `restart` ay tinawag pagkatapos na maibigay ang isang error sa nakaraang
- pahayag, si Agena sa mga pambihirang pagkakataon ay nag-crash dahil sa stack corruption. Ito ay
- naayos.
- Sa bagong mga talahanayan na naglalaman ng eksaktong isang elemento sa hash na bahagi, `attrib attrib
- ngayon ay nagbabalik ng mga tamang resulta para sa bilang ng mga inilalaan na hash na puwang (1 sa halip na 0).
- Nawastong mga mensahe ng error ng `qsadd` at` sadd`.
- Pinahusay na mga mensaheng error ng `sumali`,` copy`, at `puno` na mga operator, at ng` insert`
- at `burahin ang mga pahayag.
- Pinabuting ang pag-handle ng `read`,` save`, at `fractals.draw`.
- Mga pagpapabuti sa makefiles.
- Ang mga sukat ng buffer ay standardized na sa mga mapagkukunan.
Ano ang bago sa bersyon 1.0.4:
- Dahil ang mga bihirang pag-crash ay naiulat sa panahon ng initialisation (sa Windows XP SP 3 at OpenSolaris 134, sa ilang mga pangyayari), ngayon ay naka-off ang basura sa initialisation phase. Ang mga bihirang segmentation faults ay naganap sa OpenSolaris kapag tumatakbo ang binary ng Agena sa kanyang harboring directory bilang root, at sa XP kapag nag-click sa icon ng Agena desktop na may mga lokal na karapatan ng admin.
- Ipinakilala ang -d switch sa mga pagpipilian sa command line upang mag-print ng impormasyon sa panahon ng initialisation ng Agena.
- Ipinakilala ang wastong paghawak ng error kung ang memorya ay hindi maaring ilaan sa loob ng: `trim`,` upper`, `lower`,` os.curdir`, at `strings.rseek`.
- Inalis ang mga potensyal na paglabas ng memorya sa mga pag-andar ng initialisation C agenaL_initialise at agenaL_setLibname, at sa `io.write *` at `print`.
Ano ang bago sa bersyon 1.0.3:
- Ang `pagprotekta 'ng bagong function ay tumatawag sa isang pamamaraan sa protektadong mode at nakakakuha ng anumang posibleng error upang hindi maantala ang pag-compute. Sa kaso ng isang error, itakda ang error string sa global variable `lasterror`. Ito ay may kaugnayan sa `pcall`, ngunit hindi ibinabalik ang code ng katayuan bilang unang resulta.
- `attrib` ay nagbabalik ngayon ng mga tamang resulta sa walang laman na mga istraktura. Sa walang laman na mga istraktura, ang pag-andar ay hindi wasto na binibilang ang isang itinalaga na hash na elemento bago.
- `attrib` ay ibabalik ngayon ang bilang ng mga byte na inookupahan ng mga talahanayan, hanay, at mga pagkakasunud-sunod kasama ang bagong 'bytes' na key. Ang bilang ng mga byte na ibinalik ay batay sa kung minsan ay kasalungat na impormasyong magagamit sa net.
- `palitan` ang nag-crash na Agena kung ang nagresultang string ay lumagpas sa 512 bytes. Nabago na ito.
- `ipalagay na ngayon ay nagbalik na 'Nabigo ang Assumption.' sa halip na 'palagay ay nabigo.'
- Ang bagong C API function na lua_setglobal2 ay nagtatakda ng halaga sa tuktok ng stack sa isang pandaigdigang pangalan. Taliwas sa lua_setglobal, ang halaga ay hindi binabanggit.
- Paglilinis ng code ng lobject.h (Istraktura ng talahanayan), at lapi.c (actnodesize macro). Ang bugfix sa C API function na agn_deletertable kung sakaling si Agena ay pinagsama sa walang-bisa na lua_assert. Baguhin sa halaga ng pagbalik ng function na savestate na ginagamit sa panahon ng initialisation upang maiwasan ang (bahagyang) posibilidad ng stack katiwalian.
Ano ang bago sa bersyon 1.0.2:
- Nagtatakda ang bagong `os.setenv` ng mga variable ng kapaligiran sa antas ng operating system. Ang tungkulin ay orihinal na isinulat ni Mark Edgar.
- Sa Windows, ang `os.getenv` ngayon ay tumatawag ng isang katutubong function ng Windows API upang makuha ang mga halaga ng mga variable ng kapaligiran. Ang Windows code ay isinulat ni Mark Edgar.
- Ang bagong function na `os.environ` ay nagbabalik ng lahat ng mga naitalang variable ng kapaligiran sa isang talahanayan. Ang tungkulin ay orihinal na isinulat ni Mark Edgar.
- `io.open` ngayon ay nagdaragdag ng FILE pointer, ang pangalan, at ang mode ng isang matagumpay na binuksan na file sa bagong table` io.openfiles`. `io.close` ay tinatanggal ang entry mula sa` io.openfiles` kung ang file ay maaaring matagumpay na sarado.
- Kapag tinawag na walang mga argumento, ang `io.read` ngayon ay nagbalik ng isang error kung tinatawag na walang mga argumento sa AgenaEdit (sa pagtatangkang basahin ang keyboard).
- Kung ang `io.anykey` at` io.getkey` ay tinatawag sa AgenaEdit, ang isang wastong mensahe ng error ay ipinapakita.
- Isa sa mga subprocedure ng initialisation ay binago upang maiwasan ang posibleng stack na katiwalian (bagaman hindi kailanman naganap ang mga problema).
- gumagana ang os.isMac ('ppc') sa PowerPC machine.
- Ang mga kabanata 4 at 6 ng Primer at Sanggunian ay binago at pinalawak. Ang isang index ay naidagdag at maraming mga pampaganda ang ginawa, pati na rin.
- Naka-imbak ang tamang bersyon ng impormasyon sa executable ng Windows.
Ano ang bago sa bersyon 1.0:
- Mga Mahal na Babae at Lalaki,
- pagkatapos ng halos apat na taon ng pag-unlad, nai-publish ko ang Agena 1.0, isang programming language na pamamaraan, nagmula sa mga pinagmumulan ng Lua C.
- Ang aking komunidad ay talagang napakaliit, ngunit ang ilang mga gumagamit ay nagsabi sa akin na ito ay pagmultahin, kapaki-pakinabang at matatag.
- Masaya ako kung susuriin mo si Agena at ipinaalam sa akin ang tungkol sa iyong mga resulta. Kung hindi mo ito kapaki-pakinabang, mangyaring sabihin sa akin nang personal, at bigyan ako ng pagkakataong ayusin ang mga isyu.
Ano ang bago sa bersyon 0.34.1d:
- Kasama sa bersyong ito ang isang na-update na bersyon ng Agi ng AgenaEdit (tingnan ang executable file agenaedit).
Ano ang bago sa bersyon 0.34.1:
- AgenaEdit na may syntax-highlight at built-in na runtime engine na inilabas sa Agena 0.34.1.
Ano ang bago sa bersyon 0.34.0:
- AgenaEdit na may syntax-highlight at built-in na runtime engine ay inilabas sa Agena 0.34.0.
Ano ang bago sa bersyon 0.33.2:
- Agena 0.33.2 na may suporta sa xBase file ay inilabas.
Ano ang bago sa bersyon 0.33.1:
- Agena 0.33.1 na may suporta sa xBase file ay inilabas.
Ano ang bago sa bersyon 0.33.0:
- Ang bagong `xbase` na pakete ay maaaring magbasa at magsulat ng mga xBase file na tugma sa dBASE III standard.
- Ang mga pakete na `binio` at` mga ad ay maaari na ngayong pangasiwaan ang mga file na hanggang 2 ^ 63 bytes. Bago sila makapag-handle lamang ng mga file na may laki ng hanggang sa 2 ^ 31 bytes.
- Ang lock ng mga bagong `io.lock`,` io.unlock`, `binio.lock`,` binio.unlock`, `ads.lock` at` mga ad.unlock` ay naka-lock ng isang file mula sa read and write access sa pamamagitan ng ibang Agena
- mga pag-andar o kahit na ibang mga application na ibinigay sa huli ay gumamit ng locking protocol.
- Ang baselib function `read` ay hindi na mapapatungan ng` with`.
- Ang bagong `package.checkClib` ay sumusuri kung ang isang pakete na nakaimbak sa isang C dynamic library ay inisyal. Kung hindi, nagbabalik ito ng isang babala na naka-print sa screen at lumilikha ng isang walang laman na pakete na talahanayan. Kung hindi, wala itong ginagawa.
- Sinusuportahan na ngayon ng port ng Haiku ang mga dynamic na link library.
Ano ang bago sa bersyon 0.32.3:
- Agena 0.32.3 na may bago at tono na mga function ng Calculus ay inilabas.
- Hindi na kailangang i-install ng mga user ng Mac ang mga karagdagang library ng dependency.
- Ang port ng Haiku ay magagamit na ngayon.
Ano ang bago sa bersyon 0.31.5:
- Ang bersyon na ito ay naglalaman ng built-in graphics, arbitrary na katumpakan matematika, at pinahusay na mga tampok.
Ano ang bago sa bersyon 0.31.3:
- Nagdagdag ng pakete ng fractal upang madaling gumuhit ng mga fractal sa Solaris, Mac, Linux, at Windows.
- Sa Solaris at Linux, ang `gdi.mouse` ay nagbabalik na ngayon ng karaniwang mga halaga para sa mga pindutan ng pindutan ng mouse (katulad ng ginagawa ng mga Mac at Windows edisyon).
- Kapag binigyan ng -v ang pagpipilian, hindi na isinasagawa ngayon ni Agena ang mga file sa pag-initialize.
- Sa UNIX o Mac, ang mga pangalan ng file ng mga file sa pagsisimula ay dapat palaging `.agenainit`, maging sa / usr / agena / lib o sa personal na folder.
- Ang pamamahagi ng binary Mac para sa Intel CPU ay tumatakbo nang 30% na mas mabilis kaysa sa nakaraang mga paglabas.
- Ang function na `io.getkey` ay magagamit na ngayon sa Mac OS X edition.
- Sa Mac, ang `os.system` ngayon ay nagbabalik ng kumpletong impormasyon tungkol sa operating system at uri ng CPU. Tandaan na nagbabalik ito ng impormasyon sa kernel ng Darwin, at ang unang entry sa resultang talahanayan ngayon ay `Darwin` sa halip na` MacOSX`.
- Sinusuportahan na ngayon ng `os.memstate`,` os.freemem` at `os.beep` Mac OS X.
- `io.anykey` ay magagamit sa lahat ng mga platform, ngunit nagbabalik` fail` sa DOS at Mac. Kaya, ang `gdi.draw` ay hindi magtatapon ng mga error sa Mac kapag ginagamit ang opsyon na` mouse`.
- Ang `os.listcore` ay pinalawak upang bumalik lamang ang file, direktoryo, o mga pangalan ng link. '.' at '..' ngayon ay hindi kailanman ibinalik.
- `os.list` ay hindi nakilala ang anumang mga opsyon at nagbalik ng isang walang laman na listahan sa halip. Naayos na ito. Gayundin, maaari na ngayong mapagsama ang mga opsyon. '.' at '..' bilang unang argument na ngayon ay maayos na kinikilala.
- Ang `os.curdir` ngayon ay awtomatikong pinapalitan ang mga backslashes sa landas na tinukoy na may slashes.
- `utils.calendar` ay nag-crash sa Agena kung ang argumento nito ay walang bisa, negatibo o masyadong malaki. Nabago na ito. Bilang karagdagan, kung ang isang petsa ay lampas Martes, Enero 19, 2038, ang tamang petsa ay ibinalik.
- Ang mga bagong function `os.screensize` at` os.mousebuttons` ay ibabalik ang kasalukuyang resolution ng screen at ang bilang ng mga pindutan ng naka-attach na mouse, ayon sa pagkakabanggit (Windows lamang).
- Ang agena.ini.sample na file ay pinalitan ng pangalan sa .agenainit.sample sa mga distribusyon ng UNIX / Mac.
Ang `os.fstat` at` ads.attrib` ay nag-crash sa Agena kung ang petsa ng isang file ay lumagpas sa Martes, Enero 19, 2038. Naayos na ito sa pamamagitan ng alinman sa pagbalik ng walang laman na talahanayan para sa petsa na key (os.fstat), o 0/0/01 00:00:00, (ads.attrib).
Ang isang bagong makefile para sa Solaris ay ipinadala na ngayon sa mapm Agena binding upang lubos na ipunin ang mga orihinal na mapagkukunang MAPM na isinulat ni Michael C. Ring.
Ano ang bago sa bersyon 0.31.2:
- Ang pakete ng mapm para sa katumpakan ng arbitray matematika ay magagamit din sa DOS edisyon ng Agena.
- Ang bilang ng mga digit na ginamit ng packagemmap ay pinasimulan sa 17 digit sa start-up ng Agena para sa DOS o OS / 2 Warp. Bago, ang default ay 1 digit.
- Ang C code para sa MAPM na may-bisa ay standardized. Bago, ang pagkakaiba-iba ng mga file ng DOS at OS / 2 ay naiiba mula sa isa para sa UNIX at Windows.
- Maliit na mga pagpapahusay sa mga installer ng Windows at Mac OS X.
- Sa Mac, ang dokumentasyon ay magagamit na ngayon sa Library / Documentation / Agena sa halip ng / Users / Share / Agena.
- Ang mga function ng kasalanan, cos, arcsin, arccos, at arctan ay nagbalik -0 sa halip na 0 bilang ang haka-haka na yunit, na humantong sa mga maling resulta kung ang pagbalik ng mga function na ito ay inilalapat sa ibang mga function tulad ng ln (ibig sabihin, ang pag-sign ng haka-haka na yunit ng resulta ng iba pang mga function ay hindi tama). Naayos na ito sa pamamagitan ng pagtatakda ng haka-haka na yunit -0 hanggang 0 sa pagbabalik ng kasalanan, cos, arcsin, arccos, at arctan.
- Ang mga function ng arcsin at arccos ay nagbalik ng mga maling resulta para sa mga argument z, kung abs (real ((z))) & lt; 1. Naayos na ito.
- Sa OS / 2, ang pinaka-komplikadong mga aritmetika function ay ibinalik hindi natukoy. Naayos na ito. Tandaan na sa OS / 2 at DOS, sa komplikadong domain mayroon pa ring mga isyu sa mga arccos at arcsin operator na bumalik hindi natukoy sa ilang mga sitwasyon.
- Ang Windows, i386 Solaris 10, at mga bersyon ng Linux ay pinagsama na ngayon sa GCC 4.4.x (at walang xmath86.h) na nagbawas ng bilang ng mga error sa kumplikadong aritmetika nang malaki. Sa katunayan, ang mga kumplikadong komplikadong mga kaso sa test math ay nagbabalik ng zero error. Ang bersyon ng Sparc ay pinagsama sa GCC 4.3.3 para sa Sun Sparc at mayroong mas kaunting mga bug sa komplikadong arithmetic bilang kaysa sa 0.31.1 na release.
- Palitan ang pangalan ng sumusunod ang mga file: config.h - & gt; agncfg.h, chelpers.h - & gt; agnhlps.h, agnxlib.h - & gt; agnxlib.h.
- Sa Mac, ang gdi.mouse ay nagbabalik na ngayon ng mga karaniwang pamantayan para sa mga pindutan ng pinindot na mouse.
Ano ang bago sa bersyon 0.31.1:
- Agena 0.31 ay kasama ang lahat ng mga pangunahing tool upang i-plot ang mga puntos, linya, bilog, ellipses, rectangles, arcs. atbp., upang kontrolin ang sukat ng imahe, at mga kulay.
Ano ang bago sa bersyon 0.31.0:
- Ang isang pare-parehong paglabas ng wika na may bug fix - ay inilabas. Tingnan ang log ng pagbabago para sa kung ano ang nagbago.
Ano ang bago sa bersyon 0.30.4:
- Nagtatampok ngayon ang Agena ng built-in na graphics. Ito ay magbibigay-daan sa iyo upang i-plot ang mga graph, mga imahe, atbp sa X11 o Win32 window o sa GIF, PNG, JPEG, FIG, o PostScript file, parehong sa Solaris, Linux, at Windows. Ang Agena ay nagbubuklod sa g2 graphical library na isinulat ni Ljubomir Milanovic at Horst Wagner, upang maibigay ang mga bagong kakayahan na ito.
- Agena 0.30 kasama ang lahat ng mga pangunahing tool upang i-plot ang mga punto, linya, bilog, ellipses, rectangles, arcs. atbp., upang kontrolin ang sukat ng imahe, at mga kulay.
- & gt; may 'gdi';
- gdi package v0.1.4 ng Disyembre 20, 2009
- arc, arcfilled, background, bilog, roundfilled, clearpalette, malapit, dash, ellipse, ellipsefilled, flush, fontsize, initpalette, tinta, lastaccessed, line, newline, newpoint, open, plot, plotfn, point, rectangle, rectanglefilled , reset, resetpalette, setinfo, setoptions, istraktura, teksto, kapal, tatsulok, tatsulok, gamitink Ang function ng plotfn ay kumukuha ng isa o higit pang mga graph ng mga pag-andar sa isang tunay, opsyonal kasama ang mga palakol na nakalagay sa isang kulay na tinukoy ng user. Ang hanay para sa y-aksis ay maaari ding ibigay, kung hindi man, tinutukoy ng Agena ang pinakamahusay na setting. Mayroong iba't ibang mga pagpipilian na maaaring itakda sa function na setoptions at kung saan ay nalalapat sa lahat ng mga graph na ginawa sa isang sesyon: ang resolution ng window, ang mapa ng kulay, kapal ng linya, at kulay ng background. Siyempre, maaaring i-override ng user ang ilan o lahat ng mga pagpipilian para sa isang partikular na balangkas. Ang mga singularidad ay ginagamot nang wasto.
Ano ang bago sa bersyon 0.30.3:
- Agena 0.30.3 na may built-in graphics, arbitrary katumpakan matematika, at pinahusay na mga tampok ay inilabas.
Ano ang bago sa bersyon 0.30.2:
- Nagtatampok ngayon ang Agena ng built-in na graphics. Ito ay magbibigay-daan sa iyo upang i-plot ang mga graph, mga imahe, atbp sa X11 o Win32 window o sa GIF, PNG, JPEG, FIG, o PostScript file, parehong sa Solaris, Linux, at Windows. Ang Agena ay nagbubuklod sa g2 graphical library na isinulat ni Ljubomir Milanovic at Horst Wagner, upang maibigay ang mga bagong kakayahan na ito.
- Agena 0.30 kasama ang lahat ng mga pangunahing tool upang i-plot ang mga punto, linya, bilog, ellipses, rectangles, arcs. atbp., upang kontrolin ang sukat ng imahe, at mga kulay.
- & gt; may 'gdi';
- gdi package v0.1.4 ng Disyembre 20, 2009
- arc, arcfilled, background, bilog, roundfilled, clearpalette, malapit, dash, ellipse, ellipsefilled, flush, fontsize, initpalette, tinta, lastaccessed, line, newline, newpoint, open, plot, plotfn, point, rectangle, rectanglefilled , reset, resetpalette, setinfo, setoptions, istraktura, teksto, kapal, tatsulok, tatsulok, gamitink Ang function ng plotfn ay kumukuha ng isa o higit pang mga graph ng mga pag-andar sa isang tunay, opsyonal kasama ang mga palakol na nakalagay sa isang kulay na tinukoy ng user. Ang hanay para sa y-aksis ay maaari ding ibigay, kung hindi man, tinutukoy ng Agena ang pinakamahusay na setting. Mayroong iba't ibang mga pagpipilian na maaaring itakda sa function na setoptions at kung saan ay nalalapat sa lahat ng mga graph na ginawa sa isang sesyon: ang resolution ng window, ang mapa ng kulay, kapal ng linya, at kulay ng background. Siyempre, maaaring i-override ng user ang ilan o lahat ng mga pagpipilian para sa isang partikular na balangkas. Ang mga singularidad ay ginagamot nang wasto.
Ano ang bago sa bersyon 0.29.0:
- Nagtatampok ngayon ang Agena ng built-in na graphics. Ito ay magbibigay-daan sa iyo upang i-plot ang mga graph, mga imahe, atbp sa isang window o sa isang GIF, PNG, JPEG, FIG, o PostScript file sa Solaris, Linux, at Windows, sa pamamagitan ng pagsasama ng isang may-bisang sa g2 graphical library na isinulat ni Ljubomir Milanovic at Horst Wagner.
- Nagtatampok ng Agena 0.29.0 ang lahat ng mga pangunahing tool upang i-plot ang mga punto, linya, bilog, ellipses, mga parihaba, mga arko. atbp., upang pamahalaan ang kulay, at lumikha ng mga file ng imahe o magbukas ng mga bintana ng X11 o Win32.
- Sa isa sa mga darating na pag-update, ang isang mataas na antas na interface ng gumagamit na nagtatampok ng mga gdi.plotfn at gdi.plot function ay nagbibigay-daan sa iyo upang balangkas univariate function at hanay ng mga point on-the-fly. Ang dalawang mga function ay kasama na sa Agena 0.29.0, ngunit pa rin ang beta. Narito ang isang preview:
- & gt; may 'gdi';
- gdi package v0.1.0 ng Nobyembre 24, 2009
- arc, background, circle, clearpalette, malapit, gitling, ellipse, filledArc, punoCircle, filledEllipse, filledRectangle,
- punoTriangle, flush, fontsize, initpalette, tinta, lastaccessed, linya, bukas, balangkas, plotfn, point, rectangle, i-reset,
- resetpalette, setinfo, setoptions, structure, text, thickness, triangle, useink Ang function ng plotfn ay nakakakuha ng graph ng isang function sa isang tunay, opsyonal kasama ang axes na nakalagay sa isang kulay na tinukoy ng gumagamit. Ang hanay para sa y-aksis ay maaari ding ibigay, sa kabilang banda ay sinusubukan ni Agena upang matukoy ang pinakamahusay na setting. Mayroong iba't ibang mga pagpipilian na maaaring itakda sa function na setoptions at kung saan ay nalalapat sa lahat ng mga graph na ginawa sa isang sesyon: ang resolution ng window, ang mapa ng kulay, kapal ng linya, at kulay ng background. Siyempre, maaaring i-override ng user ang ilan o lahat ng mga pagpipilian para sa isang partikular na balangkas. Ang mga singularidad ay ginagamot nang wasto.
- plotfn (sin (x) * x & gt ;, 5, 5, kulay ~ 'asul', axiscolour ~ 'grey', res ~ 640: 480);
Ano ang bago sa bersyon 0.27.2:
- Ang bagong toSet function na baselib ay nagpalit ng isang string sa isang hanay ng mga character nito, at isang table o pagkakasunud-sunod sa isang hanay.
- io.readlines ay na-patched sa proseso ng mga linya na may higit sa 2048 na mga character. Ang pag-andar ngayon ay nagbibigay din ng isang error kung nabigo ang internal allocation ng memory. Ang laki ng panloob na buffer ay nabawasan mula sa 2048 bytes hanggang 512 bytes. Maaari mong baguhin ito sa pamamagitan ng pagtatalaga ng isa pang halaga sa AGN_IOREADLINES_MAXLINESIZE sa file na agnconf.h
- io.readlines ngayon ay tumatanggap din ng mga handle ng file. Kapag gumagamit ng mga file handle, kumpara sa mga pangalan ng file, pakitandaan na dapat mong isara ang manu-manong file pagkatapos magamit ang io.readlines.
- io.readlines ay hindi na nagbabalik ng isang walang laman na talahanayan kung ang file ay hindi umiiral. Sa halip, ito ay nagbibigay ng error.
- ngayon na bumalik ang toSeq ng isang error sa halip na mabibigo kung hindi ito makatanggap ng isang string, set, o table.
- Ang pag-andar ng baselib na ginamit ay pinalawak at maaaring ibalik ang paggamit ng memorya sa bytes, kbytes, at gbytes. Ito ay isang function na C ngayon.
- Tinanggal ang undocumented gcinfo function. Ang pag-andar nito ay kinuha sa pamamagitan ng paggamit.
- Ang bagong pag-andar ng API na agn_usedbytes ay nagbabalik ng bilang ng mga byte na ginagamit ng system.
- Nawastong maling mensahe ng error ng toTable.
- pinalitan ng pangalan na function na C AOI ang `agn_isioforcerror` sa` agn_isioforceerror`.
Ano ang bago sa bersyon 0.27.0:
- Nagdagdag ng error function math.erf, at ang komplementaryong math.erfc function na error.
- Nagdagdag ng function na Bessel ng unang uri math.besselj, at ang Bessel function ng pangalawang uri math.bessely. Ang utos ay ibinigay ng unang argument, ang argument bilang pangalawang argument.
- Kung ang bagong variable na _EnvIoForceError na kapaligiran ay naka-set sa isang di-walang-halaga na null (ang default), ang io.open, io.readlines, at ang iba't ibang mga function ng binio ay huminto sa isang error sa halip na simpleng pagbabalik.
- binio.readbytes at binio.readchar ay nagbalik ng isang walang laman na pagkakasunud-sunod sa halip ng mabibigo kung sakaling ang file na mabasa ay hindi umiiral. Naibago na ito: nabigo o nagkamali ang nagbalik ngayon.
- Ang arcsin at arccos ay mga operator ngayon at sa gayon ay mas mabilis na umaabot sa 40%.
- Nagdagdag ng xor operator na gumaganap ng isang eksklusibong OR-Boolean sa mga halaga na sinusuri sa o totoo, mali, mabigo, at null.
- Nagdagdag ng atendof operator na sumusuri kung nagtatapos ang isang salita sa isang ibinigay na parirala at ibabalik ang posisyon nito bilang isang numero. Ang operator ay bumalik null kung ang mga string ay may parehong haba, kahit isa sa mga ito ay ang walang laman na string, o ang salita ay hindi nagtatapos sa ibinigay na pattern. Ang
- hasrtable ngayon ay nagbalik lamang totoo, kung mayroon itong read-write remember table (na-update ng return statement).
- Ang bagong pag-andar ay maaaring tumutukoy kung ang isang function ay may talasalitang read-only na tandaan (na hindi ma-update sa pahayag ng pagbabalik) at nagbabalik ng totoo o hindi.
- Ang mga bagong operator gethigh and getlow ay makakakuha ng mas mataas at mas mababang byte mula sa isang numero (ie double C).
- Ang mga bagong operator ay nagtakda ng sethigh at setlow ang mas mataas at ang mga mas mababang byte sa isang numero (ie double C).
- Ang mga bagong operator band, bor, bxor, at bnot ay nagsasagawa ng bitwise at, o, eksklusibong-o, at mga komplementaryong operasyon sa mga numero.
- Ang bagong kernel na function ay configure ang mga setting ng kernel ng Agena. Sa kasalukuyan maaari itong baguhin ang paraan ng mga operator ng bitwise sa loob ng trabaho (paggamit ng naka-sign o di-linagdaan na mga integer), at kung paano nakalimbag ang mga numero.
- Gamit ang tunay na mga numero x, ang math.argument ay nagbalik ngayon Pi sa halip na 0 kung x & lt; 0.
- Dahil sa isang bug sa kalakip na pag-andar ng ANSI C library, ang mga arcsin at arccos ay gumawa ng mga maling resulta sa mga kumplikadong numero kung ang kanilang haka-haka ay zero sa mga sistemang UNIX. Naayos na ito.
- iniulat ng math.isPrime na hindi totoo sa numero 2. Ito ay naitama.
- Taliwas sa manu-manong, ang abs ay nagbalik 2 nang may kabiguan. Ngayon nagbabalik ito ng -1 bilang dokumentado.
- Inalis ang mga pakete ng bits.
- Nagdagdag ng bagong API API na agn_isioforcerror na sumusuri kung ang _EnvIoForceError ay nakatakda sa isang di-walang-halaga na halaga.
- Ang bagong pag-andar ng API na agn_setbitwise ay tumutukoy kung ang mga operator na band, bor, bnot, bxor, at shift sa kalkulahin sa loob ng alinman sa naka-sign o di-linagdaan na mga integer.
- Ang bagong function ng API na agn_getbitwise ay nagbabalik ng mode na itinakda ng agn_setbitwise.
- Ang bagong pag-andar ng API na agn_setdigits ay nagtatakda ng bilang ng mga digit na ginagamit para sa mga numero ng pag-print.
- Ang bagong C API function na agn_getdigits ay tumutukoy sa bilang ng mga digit na ginagamit para sa mga numero ng pag-print.
- Panloob: Inalis ang hindi na ginagamit na "REPL" na entry mula sa luaP_opnames.
- Ang Windows installer ay pinabuting sa pamamagitan ng pag-check ngayon para sa isang naunang naka-install na bersyon ng Agena, sa pamamagitan ng pagpigil na ang installer ay magsimula kung ang isa pang halimbawa nito ay tumatakbo na, at ng ilang iba pang maliliit na pagpapabuti.
Mga Kinakailangan :
- Ncurses
- GNU Readline
Mga Komento hindi natagpuan