Agena

Screenshot Λογισμικό:
Agena
Στοιχεία Λογισμικού:
Εκδοχή: 2.11.5 επικαιροποιημένο
Ανεβάστε ημερομηνία: 22 Jun 18
Προγραμματιστής: Alexander Walz
Άδεια: Δωρεάν
Δημοτικότητα: 23

Rating: nan/5 (Total Votes: 0)

Η Agena είναι μια γλώσσα διαδικαστικού προγραμματισμού ανοιχτού κώδικα, ελεύθερη, πολλαπλών πλατφορμών και εύκολης μάθησης, σχεδιασμένη για καθημερινή χρήση. Μπορεί να χρησιμοποιηθεί σε γραφικά, επιστημονικά, γλωσσικά και εκπαιδευτικά περιβάλλοντα, καθώς και σε εφαρμογές δέσμης ενεργειών, υποστηρίζοντας όλα τα βασικά λειτουργικά συστήματα.


Προσφέρει πολλές εγκαταστάσεις ελέγχου ροής

Η εφαρμογή προσφέρει πολλές δυνατότητες ελέγχου ροής, όπως π.χ. elif, else conditions, case of and else conditions, είναι χειριστής, αριθμητικός για, από, σε, και με βρόχους, συνδυασμός αριθμητικών για και ενώ βρόχους, για και σε βρόχους, ενώ και ως / βρόχοι, μια παράλειψη δήλωσης, καθώς και την επικύρωση του τύπου δεδομένων.


Παρέχει αποστολές απαρίθμησης

Μεταξύ άλλων χαρακτηριστικών, μπορούμε να αναφέρουμε μια αυθαίρετη μαθηματική βιβλιοθήκη ακριβείας, την εύκολη διαμόρφωση του προσωπικού σας περιβάλλοντος, ένα εύχρηστο σύστημα πακέτων, τις απαριθμήσεις, τον έλεγχο της εμβέλειας μέσω των λέξεων-κλειδιών epocs / scope και πολλά άλλα ελκυστικά χαρακτηριστικά.

Κάτω από την κουκούλα και τη διαθεσιμότητα

Μια γρήγορη ματιά κάτω από την κουκούλα θα μας δείξει ότι το έργο γράφεται στις γλώσσες προγραμματισμού C, BASIC, Lua και ALGOL 68, πράγμα που σημαίνει ότι η σύνταξή του μοιάζει με τη σύνταξη αυτών των έργων. Εκτελείται εξ ολοκλήρου σε περιβάλλον κονσόλας / τερματικού, πράγμα που σημαίνει ότι δεν διαθέτει γραφικό περιβάλλον χρήστη (GUI).


Πλοία με απλό επεξεργαστή

Παρά το γεγονός ότι το λογισμικό Agena είναι μια εφαρμογή γραμμής εντολών, παραδίδεται με ένα απλό γραφικό λογισμικό επεξεργασίας, που ονομάζεται AgenaEdit, το οποίο διαθέτει ενσωματωμένο περιβάλλον Agena και δυνατότητες επισήμανσης σύνταξης. Είναι έντονα εμπνευσμένο από ένα παρόμοιο πρόγραμμα επεξεργασίας που αναπτύχθηκε από τον Bill Spitzak για το εργαλείο FLTK cross-platform C ++ GUI.


Έργα στο Raspberry Pi

Οι γραφικές δυνατότητες της Agena υποστηρίζονται στα λειτουργικά συστήματα GNU / Linux, Solaris, Mac OS X, Microsoft Windows, eComStation - OS / 2 και DOS. Μπορεί να αναπτυχθεί εύκολα σε πλατφόρμες υλικού 64-bit και 32-bit και έχει δοκιμαστεί με επιτυχία στον πίνακα υπολογιστών Raspberry Pi με βάση το ARM.

Τι νέο υπάρχει αυτή η έκδοση:

  • νέα λειτουργία Λογισμός και Στατιστικά

Τι νέο υπάρχει στην έκδοση:

  • νέα λειτουργία Λογισμός και στατιστική

Τι νέο υπάρχει στην έκδοση 2.9.4:

Τι νέο υπάρχει στην έκδοση 2.8.5:

Τι είναι καινούργιο στην έκδοση 2.8.2:

Τι νέο υπάρχει στην έκδοση 2.6.1:

  • `stats.chauvenet` χαμηλό ή ανώτερο άκρο με την επιλογή `outlier = 'lower'` ή` outlier =' upper'`, αντίστοιχα.
  • «bags.remove» προκάλεσε σφάλματα κατάτμησης. Αυτό έχει καθοριστεί. Επιπλέον, όλες οι λειτουργίες των σακουλών που εφαρμόζονται στο C έχουν αλλάξει εσωτερικά.
  • Τα metamehods (χωρίς χαρτιά) για τα `+`, `-` και` * `δεν λειτούργησαν αν το πακέτο` bags` δεν έχει χρησιμοποιηθεί με τη συνάρτηση `with` ή την εντολή` import / alias`. Αυτό έχει καθοριστεί.

Τι νέο υπάρχει στην έκδοση 2.5.4:

  • `stats.chauvenet` τώρα μπορεί να ελέγξει συγκεκριμένα για τα χαμηλότερα ή τα ανώτερα άκρα, περάνοντας την επιλογή` outlier = 'lower'` ή `outlier =' upper'`, αντίστοιχα.
  • «bags.remove» προκάλεσε σφάλματα κατάτμησης. Αυτό έχει καθοριστεί. Επιπλέον, όλες οι λειτουργίες των σακουλών που εφαρμόζονται στο C έχουν αλλάξει εσωτερικά.
  • Τα metamehods (χωρίς χαρτιά) για τα `+`, `-` και` * `δεν λειτούργησαν αν το πακέτο` bags` δεν έχει χρησιμοποιηθεί με τη συνάρτηση `with` ή την εντολή` import / alias`. Αυτό έχει καθοριστεί.

Τι νέο υπάρχει στην έκδοση 2.5.3:

  • `stats.chauvenet` τώρα χαμηλό ή ανώτερο άκρο με την επιλογή `outlier = 'lower'` ή` outlier =' upper'`, αντίστοιχα.
  • «bags.remove» προκάλεσε σφάλματα κατάτμησης. Αυτό έχει καθοριστεί. Επιπλέον, όλες οι λειτουργίες των σακουλών που εφαρμόζονται στο C έχουν αλλάξει εσωτερικά.
  • Τα metamehods (χωρίς χαρτιά) για τα `+`, `-` και` * `δεν λειτούργησαν αν το πακέτο` bags` δεν έχει χρησιμοποιηθεί με τη συνάρτηση `with` ή την εντολή` import / alias`. Αυτό έχει καθοριστεί.

Τι νέο υπάρχει στην έκδοση 2.4.2:

  • `stats.chauvenet` τώρα μπορεί να ελέγξει συγκεκριμένα για τα χαμηλότερα ή ανώτερα άκρα, περάνοντας την επιλογή 'outlier =' lower'` ή` outlier = 'upper'`, αντίστοιχα.
  • «bags.remove» προκάλεσε σφάλματα κατάτμησης. Αυτό έχει καθοριστεί. Επιπλέον, όλες οι λειτουργίες των σακουλών που εφαρμόζονται στο C έχουν αλλάξει εσωτερικά.
  • Τα metamehods (χωρίς χαρτιά) για τα `+`, `-` και` * `δεν λειτούργησαν αν το πακέτο` bags` δεν έχει χρησιμοποιηθεί με τη συνάρτηση `with` ή την εντολή` import / alias`. Αυτό έχει καθοριστεί.

Τι νέο υπάρχει στην έκδοση 2.3.0 RC1:

  • Οι αριθμητικοί βρόχοι `for` υποστηρίζουν τώρα τη λέξη-κλειδί` downto 'έτσι ώστε να μπορείτε να μετρήσετε χωρίς να χρησιμοποιήσετε ένα υποχρεωτικό αρνητικό μέγεθος `step`. Στο πλαίσιο `downto ', το μέγεθος του βήματος` by' θα πρέπει να είναι πάντα θετικό. `από την αρχή και τις τιμές διακοπής είναι υποχρεωτικές όταν χρησιμοποιείτε τη λέξη-κλειδί` downto '.
  • Τα metamethod '__finite', '__entier' και '__sqrt' δεν υποστηρίζονται πλέον. Αντ 'αυτού, έχουν προστεθεί τρία νέα metathods για λειτουργίες στις δομές:' __union 'για συνδικαλιστικές λειτουργίες,' __intersect 'για τον προσδιορισμό των διασταυρώσεων και' __minus 'για διαφορές. Έτσι, το πακέτο `bags` υποστηρίζει τώρα αυτές τις τρεις λειτουργίες.
  • Ο διαχειριστής διαίρεσης ακεραίου δεν υποστήριξε το metamethod του και χρησιμοποίησε αντί αυτού τον διαχωρισμό float (`/`). Αυτό έχει καθοριστεί.
  • Η νέα συνάρτηση «stats.gini» καθορίζει το συντελεστή Gini, ένα μέτρο της (ισότιμης) ισότητας.
  • Η νέα συνάρτηση «stats.zscore» επιστρέφει μια συνάρτηση που υπολογίζει τη βαθμολογία z (δείγμα) ενός δείγματος - ο αριθμός των τυπικών αποκλίσεων του δείγματος είναι πάνω ή κάτω από το μέσο της κατανομής.
  • `stats.sorted` τώρα χρησιμοποιεί προεπιλογή τον αλγόριθμο Introsort αντί για Quicksort. Αυτό μπορεί να επιταχύνει τον χρόνο υπολογισμού τρεις φορές σε κακές συνθήκες (όπου η Quicksort θα χρειαζόταν O (n ^ 2) πράξεις), χωρίς να θυσιάζει την απόδοση σε συνήθεις καταστάσεις. Στην πραγματικότητα, το Introsort χρησιμοποιεί το Quicksort από προεπιλογή και στη συνέχεια μεταβαίνει αυτόματα στο Heapsort αν το βάθος επανάληψης φτάσει στο 2 * log (n, 2), όπου n είναι ο αριθμός των στοιχείων μιας δομής.
  • Μπορείτε να αντικαταστήσετε αυτήν τη λογική, διαβάζοντας τη νέα επιλογή 'quicksort', η οποία χρησιμοποιεί αποκλειστικά την παραδοσιακή αναδρομική μέθοδο Quicksort για την ταξινόμηση αριθμών. Επίσης, το "stats.sorted" τώρα μπορεί επίσης να χρησιμοποιήσει τον αλγόριθμο Heapsort αποκλειστικά και μόνο αν έχει περάσει η νέα επιλογή 'heapsort' και έναν μη αναδρομικό αλγόριθμο Quicksort επινοημένο από τον Niklaus Wirth με τη νέα επιλογή 'nrquicksort'.
  • Η νέα συνάρτηση «stats.meanmed» επιστρέφει τόσο τον αριθμητικό μέσο όρο όσο και το μέσο όρο μιας κατανομής ή εναλλακτικά το πηλίκο του μέσου και του μέσου όρου, επιταχύνοντας τους χρόνους υπολογισμού όταν χρειάζονται αυτές οι τιμές κατά περίπου 20%.
  • li>
  • Βελτίωσε το μήνυμα σφάλματος του χειριστή μεγέθους.

Τι νέο υπάρχει στην έκδοση 2.1.1:

  • Νέες λειτουργίες και επιδιορθώσεις:
  • `try / catch ': η ρητή προδιαγραφή μιας μεταβλητής σφάλματος αμέσως μετά το σύμβολο` catch' είναι πλέον προαιρετική. Αν δεν υπάρχει μεταβλητή σφάλματος, τότε το μήνυμα σφάλματος αποθηκεύεται αυτόματα στην τοπική μεταβλητή `lasterror` και η λέξη` then` πρέπει να παραμείνει εκτός λειτουργίας:
  • & gt; δοκιμάστε
  • & gt; σφάλμα ('oops!')
  • & gt; αλιευμάτων
  • & gt; εκτύπωση (lasterror)
  • & gt; yrt;
  • Ωχ!
  • Η εντολή `try / catch` μερικές φορές δεν λειτούργησε σε διαδικασίες (μεταβλητή λάθους που δεν έχει καθοριστεί). Αυτό έχει καθοριστεί.
  • Η νέα λειτουργία `net.wget 'μεταφορτώνει σελίδες HTML από τον ιστό.
  • Ρυθμίστηκε το `skycrane.counter` κατά 10%. Η συνάρτηση τώρα προαιρετικά εφαρμόζει τον Kahan-Ozawa αντί του αρχικού αλγόριθμου ανάλυσης Kahan αν το νέο τρίτο επιχείρημα είναι η συμβολοσειρά «ozawa». Οι αντίστοιχες πηγές C τροποποιήθηκαν για να αποφευχθεί η βελτιστοποίηση του μεταγλωττιστή, η οποία θα μπορούσε επίσης να ακυρώσει τις βελτιστοποιήσεις.

  • Το
  • `argerror` εκτυπώνει τώρα το καθορισμένο από το χρήστη όνομα τύπου μιας τιμής που έχει ληφθεί στο μήνυμα σφάλματος. Εάν μια τιμή δεν έχει καθορισμένο από τον χρήστη τύπο, τότε εκδίδεται ο βασικός τύπος.
  • Η νέα επιλογή 'a' στο `debug.getinfo` επιστρέφει τον αριθμό των επιχειρημάτων που αναμένονται από μια διαδικασία, χάρη στο LuaPowerPatch του Rob Hoelz.
  • Βελτιωμένο μήνυμα σφάλματος `out-of-range 'για τις συμβολοσειρές.
  • Τροποποίησε τα αρχεία `stats.agn`,` linalg.agn`, `library.agn` και` ansi.agn` σε σχέση με το χειρισμό σφαλμάτων.

Τι νέο υπάρχει στην έκδοση 2.1.0:

  • Για ένα νέο χειρισμό σφαλμάτων, έχει εισαχθεί η νέα πρόταση «try / catch». Εχει εφευρεθεί και γραφτεί από τον Hu Qiwei για το Lua 5.1 το 2008.
  • Γενικά, οι δηλώσεις στις οποίες μπορεί να αναμένεται εξαίρεση μπορούν να τεθούν σε μια ρήτρα `try '. Εάν εκδοθεί ένα σφάλμα, που δημιουργείται με μια ρητή κλήση στη συνάρτηση `σφάλματος 'ή σε οποιαδήποτε άλλη έκφραση, λειτουργία ή εντολή, ο έλεγχος αμέσως μεταπηδά στην αντίστοιχη ρήτρα` catch' εάν υπάρχει ή στο τέλος του `try / yrt 'αν δεν έχει δοθεί ρήτρα «catch», αγνοώντας οποιαδήποτε άλλη μεταγενέστερη δήλωση στη ρήτρα `try'.
  • Οι εγκαταστάσεις αντιμετώπισης σφαλμάτων «protect / lasterror» εξακολουθούν να υποστηρίζονται. Η νέα δήλωση ελέγχου λειτουργεί άψογα με τις δηλώσεις `break`,` skip`, `redo` και` return`.
  • Η νέα πρόταση `redo` επανεκκινεί από την αρχή την τρέχουσα επανάληψη ενός βρόχου` for / to` και `for / in`.
  • Ο νέος χειριστής `recip`` επιστρέφει το αντίστροφο ενός αριθμού x. Είναι ισοδύναμη με την έκφραση 1 / x, αλλά πιο γρήγορα.
  • Η νέα λειτουργία "stats.ema" υπολογίζει τον εκθετικό κινούμενο μέσο της διανομής. Η νέα συνάρτηση `stats.gema` επιστρέφει μια λειτουργία iterator που επιστρέφει τον αντίστοιχο εκθετικό κινούμενο μέσο όρο μιας διανομής.
  • `*%`, `+%` και `-%` επέστρεψαν `undefined` αντί για σωστό αποτέλεσμα αν ο σωστός χαρακτήρας τους ήταν μηδενικός. Αυτό έχει καθοριστεί.
  • Διορθώθηκε ένα μήνυμα σφάλματος στο `net.survey`.
  • Βελτιωμένα μηνύματα σφάλματος για ευρετηρίαση ζευγών και συμβολοσειρών εκτός εύρους.
  • Στις εκδόσεις ANSI, Solaris και DOS, ο συντονιστής `int` έχει συντονιστεί.
  • Η νέα λειτουργία C API «agn_arraytoseq» μετατρέπει έναν αριθμητικό πίνακα σε μια ακολουθία και ωθεί αυτή τη νέα ακολουθία στην κορυφή της στοίβας.
  • Ενημερώσατε το εγχειρίδιο.

Τι νέο υπάρχει στην έκδοση 2.1.0 RC:

  • Η νέα πρόταση `redo` επανεκκινεί από την αρχή την τρέχουσα επανάληψη ενός βρόχου` for / to` και `for / in`. Παράδειγμα:
  • & gt; σημαία: = αλήθεια; & gt; για j στο [10, 11, 12] κάνουμε & gt; εκτύπωση ('πριν', j, σημαία); & gt; εάν σημαία και j = 11 τότε & gt; σαφή σημαία. & gt; εκτύπωση ('- & gt;', j, σημαία, 'άλμα πίσω') & gt; redo & gt; fi, & gt; εκτύπωση ('μετά', j, σημαία) & gt; μέχρι j & gt; 12; πριν από 10 αλήθεια μετά από 10 αλήθεια πριν από 11 true - & gt; 11 ψευδή άλμα πριν 11 ψευδείς μετά από 11 ψευδείς πριν από 12 ψευδείς μετά από 12 ψευδείς
  • Ο νέος χειριστής `recip`` επιστρέφει το αντίστροφο ενός αριθμού x. Είναι ισοδύναμη με την έκφραση 1 / x, αλλά πιο γρήγορα.
  • Η νέα λειτουργία "stats.ema" υπολογίζει τον εκθετικό κινούμενο μέσο της διανομής. Η νέα συνάρτηση «stats.gema» επιστρέφει μια λειτουργία iterator που επιστρέφει τον αντίστοιχο εκθετικό κινούμενο μέσο όρο μιας διανομής. Για τη χρήση του, παρακαλώ ρίξτε μια ματιά στο αρχείο προέλευσης src / stats.c, τις λειτουργίες C * ema.
  • `*%`, `+%` και `-%` επέστρεψαν `undefined` αντί για σωστό αποτέλεσμα αν ο σωστός χαρακτήρας τους ήταν μηδενικός. Αυτό έχει καθοριστεί.
  • Διορθώθηκε ένα μήνυμα σφάλματος στο `net.survey`.
  • Η νέα συνάρτηση C API «agn_arraytoseq» μετατρέπει έναν αριθμητικό πίνακα σε μια ακολουθία και ωθεί αυτή τη νέα ακολουθία στην κορυφή της στοίβας.

Τι νέο υπάρχει στην έκδοση 2.0.0:

  • Νέες δηλώσεις και λειτουργίες:
  • Το Agena 2.0 είναι συμβατό προς την Agena 1.12, εκτός από το ότι οι εισαγωγές των μαρκών, το ψευδώνυμο, το «μέχρι» και το «onsuccess» είναι τώρα λέξεις-κλειδιά και δεν μπορούν πλέον να χρησιμοποιηθούν ως μεταβλητές. Προς το παρόν, υπάρχουν εγκατεστημένα για το 2.0 προγράμματα εγκατάστασης Solaris, Debian (x86, PowerPC, Raspberry Pi), Windows, Mac και DOS, συμπεριλαμβανομένου ενός ενημερωμένου Primer and Reference που εξηγεί λεπτομερώς όλα τα νέα χαρακτηριστικά.
  • Οι νέες παραλλαγές βρόχου `for / as` και` for / until 'ελέγχουν μια κατάσταση στο τέλος της τρέχουσας επανάληψης και είτε ξεκινούν την επόμενη επανάληψη είτε αφήνουν τον βρόχο. Αυτό λειτουργεί τόσο με τους βρόχους `for / to`, όσο και με τους` for / in`. Στην πραγματικότητα, και οι δύο παραλλαγές εκτελούν έναν βρόχο τουλάχιστον μία φορά μέχρι να ελεγχθεί η δεδομένη κατάσταση.
  • Παραδείγματα:
  • & gt; για το i έως το 5
  • & gt; εκτύπωση (i)
  • & gt; ως i < 3
  • & gt; για το i στο [1, 2, 3, 4, 5] κάνουμε
  • & gt; εκτύπωση (i)
  • & gt; μέχρι i & gt; = 3
  • Ο νέος βρόχος `do / till` επαναλαμβάνεται μέχρι να επιτευχθεί μια συγκεκριμένη συνθήκη:
  • & gt; c: = 0 ·
  • & gt; κάντε
  • & gt; inc c ·
  • & gt; εκτύπωση (c)
  • & gt; μέχρι c> = 3
  • Σε αριθμητικούς βρόχους `for`, η ρήτρα` to` ενδέχεται να μην είναι πλέον διαθέσιμη. Αντίθετα, όταν αφήνουμε τη ρήτρα `to`, ο βρόχος επαναλαμβάνεται μέχρι να φτάσει ο μεγαλύτερος αριθμός που μπορεί να αναπαρασταθεί στην πλατφόρμα σας, στο C HUGE_VAL:
  • & gt; για μένα
  • & gt; εκτύπωση (i)
  • & gt; od
  • Η νέα ρήτρα `onsuccess` στις δηλώσεις` if` και `case` εκτελεί ένα κομμάτι αν ισχύει τουλάχιστον μία από τις προϋποθέσεις. Παραδείγματα:
  • & gt; σημαία: = ψευδής ·
  • & gt; εάν 1 = 0 τότε
  • & gt; εκτύπωση (0)
  • & gt; elif 1 = 1 τότε
  • & gt; εκτύπωση (1)
  • & gt; onsuccess
  • & gt; σημαία: = true
  • & gt; αλλιώς
  • & gt; εκτύπωση (-1)
  • & gt; fi
  • & gt; εκτύπωση (σημαία)
  • true
  • & gt; σημαία: = ψευδής ·
  • & gt; εάν 1 = 0 τότε
  • & gt; εκτύπωση (0)
  • & gt; elif 1 = 0 τότε
  • & gt; εκτύπωση (1)
  • & gt; onsuccess
  • & gt; σημαία: = true
  • & gt; αλλιώς
  • & gt; εκτύπωση (-1)
  • & gt; fi
  • & gt; εκτύπωση (σημαία)
  • false
  • & gt; σημαία: = ψευδής ·
  • & gt; a: = 2,
  • & gt; περίπτωση α
  • & gt; από 1 τότε
  • & gt; εκτύπωση (1)
  • & gt; από 2 τότε
  • & gt; εκτύπωση (2)
  • & gt; onsuccess
  • & gt; σημαία: = true
  • & gt; αλλιώς
  • & gt; εκτύπωση (-1)
  • & gt; esac
  • & gt; εκτύπωση (σημαία)
  • true
  • Η νέα δήλωση εισαγωγής επιτρέπει την εισαγωγή μιας ή περισσοτέρων βιβλιοθηκών χωρίς να αναγράφονται τα ονόματά τους σε εισαγωγικά, π.χ. "calc calc, stats" είναι ισοδύναμο με το "readlib ('calc', 'stats')".
  • Η επιλογή "ψευδώνυμο" στην εντολή "εισαγωγή" εκχωρεί ένα ή περισσότερα σύντομα ονόματα στις αρχικές λειτουργίες της βιβλιοθήκης, π.χ. "import calc alias xpdiff" ισοδυναμεί με "με ('calc', 'xpdiff') 'και' import calc alias 'ισοδυναμεί με' με ('calc')".
  • Ο νέος χειριστής `..` επιτρέπει την ευρετηρίαση των πινάκων, ακόμη και αν ο αριστερός του τελεστής ορίστηκε ως` null`. Σε αυτή την περίπτωση, επιστρέφεται η τιμή `null 'και δεν εκδίδεται σφάλμα` `index to field ... (a null value)'. Παρόμοια είναι η λειτουργία `gutteryry 'αλλά είναι τριπλάσια. Παραδείγματα:
  • & gt; δημιουργήστε τον πίνακα a
  • & gt; a.b:
  • null
  • & gt; a.b.c:
  • Σφάλμα στο stdin, στη γραμμή 1:
  • επιχειρήστε να δείξετε το πεδίο `b` (τιμή null)
  • & gt; a..b..c:
  • null
  • & gt; δημιουργήστε τον πίνακα a
  • & gt; a [1]:
  • null
  • & gt; a [1] [2]:
  • Σφάλμα στο stdin, στη γραμμή 1:
  • προσπαθήστε να δείξετε το πεδίο `?` (τιμή null)
  • & gt; a .. [1] .. [2]:
  • null
  • Η νέα συνάρτηση `drem` αξιολογεί το υπόλοιπο διαίρεσης ακέραιου x / y, αλλά αντίθετα από το` irem`, στρογγυλοποιεί τον εσωτερικό πηλίκο x / y στον πλησιέστερο ακέραιο αντί προς το μηδέν.
  • Η νέα λειτουργία `skycrane.todate` επιστρέφει την τρέχουσα ημερομηνία και ώρα ως μορφοποιημένη συμβολοσειρά.
  • Η νέα λειτουργία `io.truncate` αποκόπτει ένα αρχείο στην τρέχουσα θέση του αρχείου.
  • Η νέα λειτουργία `io.move` αλλάζει τη θέση του αρχείου σε ένα δεδομένο αριθμό χαρακτήρων προς τα αριστερά ή προς τα δεξιά.
  • Η νέα λειτουργία `io.filesize` επιστρέφει το μέγεθος ενός αρχείου.
  • Το `readlib` τώρα δέχεται μόνο τις συμβολοσειρές ως επιχειρήματα. Οι αριθμοί δεν επιτρέπονται πλέον.
  • Αν το τελευταίο όρισμα στο `with` είναι το Boolean` false`, τότε η συνάρτηση δεν συντάσσει καθορισμένα σύντομα ονόματα στην κονσόλα (stdout).

  • Το
  • `strings.fields` τώρα δέχεται επίσης μια ακολουθία αριθμών ευρετηρίου. Ωστόσο, δεν δέχεται πλέον το δείκτη `0`.
  • Το πρόγραμμα εγκατάστασης Raspberry Pi Wheezy Debian περιλαμβάνει τώρα το πακέτο γραφικών `gdi`.
  • Το αρχείο `change.log` εμφανίζεται σωστά στα Windows.

Τι νέο υπάρχει στην έκδοση 2.0.0 RC3:

  • Οι νέες παραλλαγές βρόχου `for / as` και` for / until 'ελέγχουν μια κατάσταση στο τέλος της τρέχουσας επανάληψης και είτε ξεκινούν την επόμενη επανάληψη είτε αφήνουν τον βρόχο. Αυτό λειτουργεί τόσο με τους / για, όσο και με τους / σε βρόχους.

Τι νέο υπάρχει στην έκδοση 2.0.0 RC2:

  • Οι νέες παραλλαγές βρόχου `for / as` και` for / until 'ελέγχουν μια κατάσταση στο τέλος της τρέχουσας επανάληψης και είτε ξεκινούν την επόμενη επανάληψη είτε αφήνουν ένα βρόχο. Αυτό λειτουργεί τόσο με τους / για, όσο και με τους / σε βρόχους.

Τι νέο υπάρχει στην έκδοση 2.0.0 RC1:

  • Η νέα δήλωση εισαγωγής επιτρέπει την εισαγωγή μιας ή περισσοτέρων βιβλιοθηκών χωρίς να αναγράφονται τα ονόματά τους σε εισαγωγικά, π.χ. "calc calc, stats" είναι ισοδύναμο με το "readlib ('calc', 'stats')".
  • Η επιλογή "ψευδώνυμο" στην εντολή "εισαγωγή" εκχωρεί ένα ή περισσότερα σύντομα ονόματα στις αρχικές λειτουργίες της βιβλιοθήκης, π.χ. "import calc alias xpdiff" ισοδυναμεί με "με ('calc', 'xpdiff') 'και' import calc alias 'ισοδυναμεί με' με ('calc')".
  • Ο νέος χειριστής `..` επιτρέπει την ευρετηρίαση των πινάκων, ακόμη και αν ο αριστερός του τελεστής ορίστηκε ως` null`. Σε αυτή την περίπτωση, επιστρέφεται η τιμή `null 'και δεν εκδίδεται σφάλμα` `index to field ... (a null value)'. Παρόμοια με τη λειτουργία `getentry` αλλά είναι τριπλάσια.

Τι νέο υπάρχει στην έκδοση 1.12.9:

  • Οι νέες λειτουργίες `io.getclip` και` io.putclip` ανταλλάσσουν κείμενα μεταξύ της Agena και του προχείρου (μόνο για Windows).
  • Το "stats.prange" έχει ξαναγραφεί στο C και έχει γίνει μέχρι και 60% γρηγορότερο.
  • `os.cpuinfo` επιστρέφει πλέον σωστές και περισσότερες πληροφορίες σχετικά με τα συστήματα που βασίζονται σε ARM.
  • Στα συστήματα DOS και UNIX, συμπεριλαμβανομένου του Mac OS X και μόνο στον σύνθετο τομέα, η εκτόνωση της βάσης 0 στον εκθέτη 0 + r * I, με r μη μηδενικό πλωτήρα, επέστρεψε `undefined` αντί για 0. Αυτό έχει καθοριστεί.
  • Στα συστήματα DOS και UNIX, συμπεριλαμβανομένου του Mac OS X και μόνο στον σύνθετο τομέα, η εκτόξευση της βάσης 0 στον εκθέτη r + 0 * I, με r κάθε θετικό πλωτήρα, επέστρεψε `undefined` αντί για 0. έχει οριστεί.

  • Το
  • 'stats.obcount` και το' stats.obpart` δεν θα μπορούσαν να περιλαμβάνουν τιμές στο κεντρικό δευτερεύον. Αυτό έχει καθοριστεί.

  • Τα calc.nakspline, calc.naksplinecoeffs, calc_clampedspline και calc_clampedsplinecoeffs προκάλεσαν σφάλματα κατάτμησης εάν κλήθηκαν με μια δομή που περιείχε πολύ λίγα σημεία, δηλαδή ζεύγη. Αυτό έχει καθοριστεί με την επιστροφή του `fail 'σε αυτές τις περιπτώσεις.

  • Τα πιθανά σφάλματα ανακατανομής μνήμης έχουν αφαιρεθεί από τα calc.neville, calc.interp, calc.newtoncoeffs, calc.naksplinecoeffs, calc.clampedsplinecoeffs, calc.nakspline, και "calc.clampedspline".
  • Η νέα συνάρτηση C API «agn_checkinteger» ελέγχει αν ένα όρισμα είναι ένας αριθμός και ένας ακέραιος και - αντίθετα με το `luaL_checkinteger` - εκδίδει ένα σφάλμα διαφορετικά.

Τι νέο υπάρχει στην έκδοση 1.9.0:

  • Η νέα συνάρτηση «εναλλαγής» επιστρέφει το πρώτο όρισμα αν το δεύτερο όρισμα της είναι «null». Διαφορετικά επιστρέφει το δεύτερο επιχείρημά της.
  • Η μετακίνηση -b στο εκτελέσιμο αρχείο Agena έχει αφαιρεθεί αφού η έξοδος της ήταν ίδια με την επιλογή -v.
  • Οι εκδόσεις των Windows και UNIX / Mac του `strings.utf8size` περιείχαν πιθανή διαρροή μνήμης. αυτό έχει αλλάξει.
  • Όλα τα δυαδικά αρχεία DLL / SO των βιβλιοθηκών συν δεν περιέχουν πια αχρησιμοποίητο κώδικα, αδυνατίσματος των μεγεθών τους κατά 10%, ανάλογα με το λειτουργικό σύστημα. Το makefile και οι πηγές που εισήγαγαν προηγουμένως αχρησιμοποίητα αρχεία κεφαλίδας έχουν αλλάξει. Για παράδειγμα, αυτό μειώνει το μέγεθος των δυαδικών αρχείων των Windows κατά 55 kBytes.
  • Επέκταση της δοκιμαστικής σουίτας.
  • Ενημέρωση των αρχείων σχήματος

Τι νέο υπάρχει στην έκδοση 1.6.0:

  • Νέες λειτουργίες και δυνατότητες:
  • Η νέα συνάρτηση `checktype` καθορίζει αν όλες οι τιμές μιας δομής είναι συγκεκριμένου τύπου.
  • Η νέα λειτουργία `isint` ελέγχει αν όλα τα επιχειρήματά της είναι ακέραιοι.
  • Η νέα συνάρτηση `strings.dleven` επιστρέφει την απόσταση Damerau-Levenshtein από δύο χορδές.
  • Η νέα συνάρτηση «stats.ad» καθορίζει την απόλυτη απόκλιση όλων των τιμών μιας δομής.
  • Η νέα συνάρτηση «stats.countentries» μετρά τον αριθμό εμφάνισης όλων των στοιχείων μιας δομής.
  • Η νέα συνάρτηση «stats.deltalist» επιστρέφει μια δομή των δελτίων των αντίστοιχων γειτονικών στοιχείων.
  • Η νέα συνάρτηση «stats.gmean» επιστρέφει τον γεωμετρικό μέσο μιας δομής
  • Η νέα συνάρτηση «stats.hmean» επιστρέφει τον αρμονικό μέσο μιας δομής
  • Η νέα συνάρτηση «stats.ios» επιστρέφει έναν αποδεδειγμένο δείκτη σταθερότητας σε μια κατανομή.
  • Η νέα συνάρτηση `stats.iqr` επιστρέφει το εύρος μεταξύ τεταρτοταγών.
  • Η νέα συνάρτηση «stats.issorted» ελέγχει αν όλοι οι αριθμοί σε μια δομή ταξινομούνται σε αύξουσα σειρά.
  • Η νέα συνάρτηση `stats.moment` υπολογίζει τη χρονική στιγμή των δεδομένων δεδομένων για μια προέλευση.
  • Η νέα συνάρτηση `stats.numbperm` επιστρέφει τον αριθμό των μεταλλαγών.
  • Η νέα λειτουργία `stats.percentile` καθορίζει εκατοστημόρια.
  • Η νέα συνάρτηση «stats.skewness» επιστρέφει την λανθάνουσα εικόνα, μια ένδειξη της συμμετρίας μιας κατανομής πιθανότητας.
  • Η νέα συνάρτηση «stats.sumdata» συνοψίζει όλες τις εξουσίες μιας δομής σχετικά με την προέλευση.
  • Το "stats.tovals" είναι πλέον μια λειτουργία βιβλιοθήκης C και έτσι είναι μέχρι 40 τοις εκατό γρηγορότερα.
  • Με κενό πίνακα ή ακολουθία, "stats.qmean", "stats.mean", "stats.gmean", "stats.sd", "stats.median",
  • `stats.var` τώρα επιστρέφει αποτυχία.
  • Το μέγιστο μήκος μιας γραμμής εισόδου στον αυτόνομο διερμηνέα έχει αλλάξει από 512 σε 2048 χαρακτήρες.
  • Η νέα μεταβλητή περιβάλλοντος `environ.maxpathlength` αποθηκεύει τον μέγιστο αριθμό χαρακτήρων για μια διαδρομή αρχείου (εκτός του χαρακτήρα C).
  • Οι νέες μεταβλητές περιβάλλοντος `environ.minnumber` και` environ.maxnumber` διατηρούν την ελάχιστη και μέγιστη τιμή που μπορεί να αποθηκεύσει ένας αριθμός Agena (επί του παρόντος ένα διπλό ANSI-C).
  • Η νέα μεταβλητή περιβάλλοντος `environ.umaxlong` περιλαμβάνει τη μέγιστη αναπόσπαστη αξία του μεγάλου μήκους του τύπου C που δεν έχει υπογραφεί σε συστήματα 32+ δυαδικών ψηφίων και το μη υπογεγραμμένο μεγάλο σε 16bit μηχανές.
  • C API:
  • Η συμβατότητα του 100% του API Agena C με το AP API της Lua έχει αποκατασταθεί με την εισαγωγή των λειτουργιών σκουπίσματος της Lua. Έτσι μπορείτε τώρα να αποθηκεύσετε λειτουργίες σε μια δυαδική αναπαράσταση, π.χ. με τη χρήση `strings.dump` ή lua_dump στο επίπεδο C
  • Εισήγαγε τη νέα λειτουργία `agnL_optboolean` για να ελέγξει για προαιρετικά επιχειρήματα Boolean και να τα επιστρέψει σε περίπτωση επιτυχίας.
  • Διορθώσεις σφαλμάτων:
  • `environ.globals` κλείνει πάντα με ένα σφάλμα, αυτό έχει διορθωθεί.
  • `assumume` επιστρέψει ψευδής με αμφότερα τα επιχειρήματά του να είναι ή να αξιολογούνται ως 'undefined'. Τώρα επιστρέφει αλήθεια στην περίπτωση αυτή.
  • Η Agena συνετρίβη όταν περνούσε ένα άδειο τραπέζι και ένας οριοθέτης για να «ενωθεί» - αυτό έχει διορθωθεί.
  • Η επιλογή `color 'δεν αγνοείται πλέον από το` gdi.plot`.
  • Με τους πίνακες, το "stats.minmax" επέστρεψε μια λάθος τιμή για το ελάχιστο. Τώρα λειτουργεί σωστά.
  • Με κενό πίνακα, το 'stats.median` επέστρεψε 0, τώρα επιστρέφει αποτυχία.
  • Σε αντίθεση με την τεκμηρίωση, ο όρος "strings.isending" επέστρεψε "true" και οι δύο χορδές ήταν ίσοι. Αυτό έχει καθοριστεί.
  • `run` επέστρεψε` δεν ήταν δυνατό να ανοίξει το αρχείο 'αν ένα υπάρχον σενάριο Agena περιελάμβανε ένα συντακτικό σφάλμα. Αυτό έχει καθοριστεί με την πλήρη επανεγγραφή της λειτουργίας.
  • Προστέθηκε το Lua 5.1.4 patch 9: "Δημιουργία λανθασμένου κώδικα για ορισμένες συγκεκριμένες [π.χ. πολύπλοκες] εκφράσεις boolean."
  • Προστέθηκε Lua 5.1.4 patch 11: "Ο προγραμματιστής μπορεί να συλλέξει ένα πρωτότυπο ενώ το κτίζει."
  • * Info: Η προσθήκη του Lua 5.1.4 patch 10, "[__write / __ new] index metamethod δεν μπορεί να λειτουργήσει εάν το metatable είναι δικό του μεταλλαξιγό". Η Agena δεν είναι απαραίτητη, γιατί η Agena λειτουργεί σωστά στην περίπτωση αυτή. li>
  • Αφαιρέσατε τη μη χρησιμοποιημένη λέξη-κλειδί "προεπιλογή".
  • Ορισμένες σκλήρυνση λειτουργιών και χαρακτηριστικών.
  • Βελτιώσεις:
  • Προστέθηκε μια _experimental_ έκδοση του `io.keykey` στην έκδοση Mac. Ωστόσο, τουλάχιστον στο Λιοντάρι, το κλειδί που πιέζεται μερικές φορές επαναλαμβάνεται στο κέλυφος.
  • `utils.readcsv` τώρα μπορεί να επιστρέψει προαιρετικά όλες τις τιμές σε ένα αρχείο CSV σε μια επίπεδη ακολουθία.
  • Το πακέτο `clock` τώρα υποστηρίζει τον διαχειριστή διαίρεσης` / `με την προσθήκη του στο metatable του χρήστη` tm`.
  • Η συμπεριφορά του `with` έχει αλλάξει επειδή δεν μπορούσε να αντιστοιχίσει σύντομα ονόματα για πολλές λειτουργίες της βιβλιοθήκης: Αν έχουν τοποθετηθεί λειτουργίες στον πίνακα .aux, μην ορίζετε σύντομα ονόματα για αυτά τα ονόματα λειτουργιών. διαφορετικά, εκχωρήστε σύντομα ονόματα για όλες τις υπόλοιπες λειτουργίες του πακέτου. Έτσι, το `package.register` για να καταχωρήσει όλες τις λειτουργίες της βιβλιοθήκης για` with` για να αναθέσει σύντομα ονόματα, δεν χρειάζεται πλέον. Θα καταργηθεί σε μία από τις ακόλουθες εκδόσεις.
  • Βελτίωσε τη δοκιμαστική σουίτα.
  • Χειροκίνητο:
  • Βελτίωσε το εγχειρίδιο και το ευρετήριο.
  • Συνέπεια:
  • Για όλες τις ακόλουθες μετονομασίες, εξακολουθούν να υποστηρίζονται τα ακόλουθα παλιά ονόματα μεταβλητών.
  • `environ.MinLong` έχει μετονομαστεί σε` environ.minlong`.
  • `environ.MaxLong` έχει μετονομαστεί σε` environ.maxlong`.

  • Το
  • `environ.BufferSize` μετονομάστηκε σε` environ.buffersize`.

  • Το
  • `environ.PathSep` μετονομάστηκε σε` environ.pathsep`.

  • Το
  • `environ.more 'έχει μετονομαστεί σε` environ.more`.
  • `environ.WithProtected` έχει μετονομαστεί σε` environ.withprotected`.

  • Το
  • `environ.Os` μετονομάστηκε σε` environ.os`.

  • Το
  • `environ.Cpu` έχει μετονομαστεί σε` environ.cpu`.

  • Το
  • `environ.Release` μετονομάστηκε σε` environ.release`.
  • `environ.GdiDefaultOptions` μετονομάστηκε σε` environ.gdidefaultoptions`.
  • Στα Windows, τα `os.login` και` os.computername` επιστρέφουν τώρα 'αποτυγχάνουν' όπως και οι εκδόσεις UNIX ή OS / 2.
  • Ο διακόπτης `-DCOMPAT13` έχει αφαιρεθεί τελικά για τη σύνταξη μιας έκδοσης πελάτη Agena 1.3.x.
  • Άλλο:
  • Το διακεκομμένο `calc.fseq` έχει διαγραφεί. Παρακαλούμε χρησιμοποιήστε το `nseq`.

Τι νέο υπάρχει στην έκδοση 1.5.1:

  • Patched `strings.fields` που δεν λειτούργησε καθόλου. Επίσης, έχει μετατραπεί σε λειτουργία βιβλιοθήκης C και έτσι είναι 2,6 φορές ταχύτερη.
  • `strings.words` τώρα δέχεται ένα τρίτο όρισμα, αν έχει οριστεί σε` true ', οι επόμενοι οριοθέτες αγνοούνται.
  • Αφαίρεσε πιθανή διαρροή ασφαλείας από το αρχείο `io.write` και` io.writeline` και βελτίωσε τα μηνύματά του σφάλματος.
  • Επικαλυμμένα `binio.readchar` για να αποφύγετε προβλήματα με αρχεία μεγέθους μεγαλύτερου από 2 GBytes.
  • Διορθωμένα μηνύματα σφάλματος των λειτουργιών `xbase.purge`,` xbase.readvalue`, `xbase.purge`,` ads.getvalues`, `binio.readshortstring`,` os.computername`, `os.login`, `os.fattrib`,` environ.kernel`, `package.register`.
  • Terabytes μπορούν τώρα να εισαχθούν με τη σημείωση Τ, όπου είναι ένας ακέραιος αριθμός, και Τ είναι ο χαρακτήρας «Τ». Ομοίως, το g υποδηλώνει δισεκατομμύρια και t τρισεκατομμύρια. Για περισσότερες πληροφορίες, ανατρέξτε στη σελίδα 48 του εγχειριδίου.
  • Ενημερώσατε το εγχειρίδιο.
  • Κυρίως όλοι οι διακόπτες συμβατότητας προς τα πίσω στον πηγαίο κώδικα C έχουν αφαιρεθεί για λόγους καθαρισμού κώδικα. Αυτό επηρεάζει μόνο όσους προσπαθούν να επανασυναρμολογήσουν την Agena 1.5 ή μεγαλύτερη με πλήρη συμβατότητα προς τα πίσω με την Agena 1.3 και 1.4 και με το μεγαλύτερο μέρος της συμβατότητας προς το Lua 5.0 (εκτός από το παλιό χειρισμό βιβλιοθήκης Lua 5.0).

Τι νέο υπάρχει στην έκδοση 1.5.0:


    Το
  • `map` τώρα μπορεί επίσης να επεξεργαστεί τις συμβολοσειρές που δόθηκαν ως το δεύτερο του επιχείρημα. Η αντίστοιχη συνάρτηση και τα επιχειρήματά της εφαρμόζονται διαδοχικά σε κάθε χαρακτήρα από αριστερά προς τα δεξιά και το αποτέλεσμα επιστρέφεται σε μια ακολουθία.
  • `run ': Αν θέλετε να φορτώσετε και να εκτελέσετε κώδικα από αρχεία με επίθεμα' agn ', δεν χρειάζεται πλέον να καθορίσετε την κατάληξη στο παραστατικό. Επομένως, η δοκιμή `run 'και` run' test.agn'` είναι πλέον ίδια.
  • Η λέξη `is` είναι τώρα υποχρεωτική για τον ορισμό των διαδικασιών. (Με το GCC, χρησιμοποιήστε το διακόπτη -DCOMPAT14 για να μεταγλωττίσετε μια έκδοση της Agena όπου η λέξη `is` είναι ακόμα προαιρετική)
  • Η πρόταση `try` έχει καταργηθεί και δεν υποστηρίζεται πλέον. (Με το GCC, χρησιμοποιήστε το διακόπτη -DCOMPAT14 για να μεταγλωττίσετε μια έκδοση του Agena που εξακολουθεί να διαθέτει αυτή τη δήλωση.)
  • Οι ακόλουθες λειτουργίες `utils` έχουν αφαιρεθεί:` arraysize`, `getarray`,` getwholearray`, `newarray`,` searcharray`, `setarray`. Για συμβατότητα προς τα πίσω, έχουν προστεθεί στο αρχείο lib / compat.agn. (Με το GCC, χρησιμοποιήστε το διακόπτη -DCOMPAT14 για να μεταγλωττίσετε μια έκδοση της Agena που εξακολουθεί να υποστηρίζει τις αρχικές λειτουργίες utils.)
  • Το
  • `utils.singlesubs` έχει πλήρως ξαναγραφεί. Αναμένει τώρα μια ακολουθία αριθμών ως το δεύτερο όρισμα αντί για την προηγούμενη δομή stringarray userdata. Είναι 35% πιο αργός από την προηγούμενη έκδοση, αλλά η αφαίρεση της δομής stringarray ήταν πιο σημαντική.
  • `strings.include 'συνετρίβη εάν κλήθηκε με 0 ως το δεύτερο όρισμα. Αυτό έχει καθοριστεί.
  • Εφαρμογή της ενημερωμένης έκδοσης κώδικα `32-bit-Year 2038-Fix 'του Michael G. Schwern στις 10 Μαΐου 2011 που χρησιμοποιείται από τα πακέτα` os` και `xbase` (` Make mktime64 () όπως απαιτείται από τον ISO C.)
  • Εσωτερική βελτιστοποίηση κώδικα: κάποια αρχικοποίηση βιβλιοθήκης και λειτουργίες φόρτωσης αρχείων C χρησιμοποίησαν τη στοίβα για να δημιουργήσουν συμβολοσειρές διαδρομών και αρχείων. Η νέα συνάρτηση C aux 'concat' που γράφτηκε από τον Solar Designer χρησιμοποιείται τώρα σε πολλές περιπτώσεις.
  • Το Agena C API είναι πλέον 100% συμβατό με το AP Lua C για να διευκολύνει τη μεταφορά των πακέτων C Lua στην Agena.
  • Οι ακόλουθες λειτουργίες έχουν μετονομαστεί: 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.
  • Οι παρακάτω μακροεντολές έχουν μετονομαστεί: luaL_checkint - & gt; agnL_checkint, luaL_optint - & gt; agnL_optint.
  • Σε αντίθεση με την πρώην υλοποίηση της Agena, η λήψις τώρα παίρνει 0 όπως στο Lua σε περίπτωση που δεν έχει περάσει ένας αριθμός, αντί να επιστρέψει HUGE_VAL.

  • Το
  • lua_setglobal2 έχει καταργηθεί. Χρησιμοποιήστε την επιλογή lua_pushvalue και lua_setglobal.

Τι νέο υπάρχει στην έκδοση 1.4.2:

  • Εάν στη λίστα παραμέτρων μιας διαδικασίας καθορίστηκαν ορισμένοι τύποι χρήστη, στο
  • Οι διαδικασίες κλήσεων δεν εκδόθηκαν σφάλματα και η διαδικασία εκτελέστηκε αντίθετα, στις ακόλουθες περιπτώσεις:
  • α) ένας πίνακας, σύνολο, ακολουθία, ζεύγος ή διαδικασία - χωρίς να έχει οριστεί από το χρήστη
  • type - έχει περάσει,
  • β) δεν έχει περάσει καθόλου τιμή για τη συγκεκριμένη παράμετρο

Τι νέο υπάρχει στην έκδοση 1.4.1:

  • Τα σύντομα ονόματα για τα "stats.quartiles" και "stats.mode" δεν μπόρεσαν να ανατεθούν με τη συνάρτηση `with`. Αυτό έχει καθοριστεί.
  • λανθασμένα, το `with` δεν μπόρεσε να ορίσει ένα σύντομο όνομα για το` gdi.settriangle`. Αυτό έχει αλλάξει.
  • Ο χειρισμός σφάλματος του `calc.polygen` έχει βελτιωθεί.
  • Βελτιωμένο μήνυμα λάθους του "fractals.draw" για τα ελλιπή αρχεία χάρτη FRACTINT.
  • Αφαιρέθηκε η απόρριψη της λειτουργίας `strings.rseek`. Για συμβατότητα προς τα πίσω, στο αρχείο lib / compat.agn προστέθηκε το αρχείο `strings.seek`.
  • Προστέθηκε ο διακόπτης -d για την εκτύπωση πληροφοριών εντοπισμού σφαλμάτων κατά την εκκίνηση του διερμηνέα.
  • Η έκδοση των Windows του Agena έχει πλέον μεταγλωττιστεί με το GCC 4.5.2.
  • Ενημερωμένα αρχεία γλώσσας.
  • Το εγχειρίδιο έχει ενημερωθεί.

Τι νέο υπάρχει στην έκδοση 1.4.0:

  • Σημασιολογικές αλλαγές:
  • Οι μεταβλητές ελέγχου βρόχων των αριθμητικών βρόχων «για / προς» τώρα είναι αυτόματα τοπικές στα γύρω μπλοκ αντί των (εσωτερικών) βρόχων τους. Εάν μια τοπική μεταβλητή με το ίδιο όνομα με τη μεταβλητή ελέγχου βρόχου έχει δηλωθεί και εκχωρηθεί πριν από την
  • που εκτελεί έναν αριθμητικό βρόχο, αντικαθίσταται από την τελευταία τιμή επανάληψης του βρόχου. Ως εκ τούτου, ο «εξωτερικός» διακόπτης σε αριθμητικούς βρόχους δεν είναι πλέον αποδεκτός. (Με το GCC, χρησιμοποιήστε το διακόπτη -DCOMPAT13 για να μεταγλωττίσετε μια έκδοση του Agena που εξακολουθεί να αναγνωρίζει αλλά αγνοεί την «εξωτερική» λέξη-κλειδί.)
  • Με τη σταθερή 'αποτυχία', `όχι` επέστρεψε` true`, αλλά με `fail 'που έχει αντιστοιχιστεί σε μια μεταβλητή,` όχι' επιστρέφεται ψευδής. Αυτό έχει αλλάξει, δηλ. 'Α: = αποτυχία' όχι (α) 'επιστρέφει τώρα' true '.
  • `stats.median` επιστρέφει τώρα` fail 'αντί για 0 ​​αν η δομή είναι κενή.
  • `utils.readcsv`: Εάν έχει περάσει ένας καινούργιος χώρος με την επιλογή` delim` και αν δεν έχει δοθεί η επιλογή `ignorespaces`, τα λευκά κενά δεν αφαιρούνται αυτόματα πριν χωριστεί κάθε γραμμή του αρχείου σε τα λόγια του.
  • Η λειτουργία έχει επίσης δύο νέες επιλογές: `header` που σηματοδοτεί την πρώτη γραμμή σε ένα αρχείο και` output 'που επιτρέπει την αποθήκευση των περιεχομένων του αρχείου σε ένα λεξικό με τα ονόματα πεδίων που ορίζονται από την κεφαλίδα του αρχείου. / li>
  • Η σημείωση υποστέλεσης `$` δεν υποστηρίζεται πλέον. (Με το GCC, χρησιμοποιήστε το διακόπτη-DCOMPAT13 για να μεταγλωττίσετε μια έκδοση της Agena που υποστηρίζει ακόμα τον χειριστή `$`).
  • Επεκτάσεις:
  • Έχουν προστεθεί ατελείωτες βρόχοι do / od. Αυτός ο τύπος βρόχου επαναλαμβάνεται απεριόριστα και μπορεί να διακοπεί μόνο με τις δηλώσεις `break` ή` return`. Είναι συντακτική ζάχαρη για βρόχους `while true ... od '.
  • Με τους πίνακες, το `stats.minmax` παλαιότερα μόνο συνεργάστηκε με συστοιχίες. Αυτό έχει αλλάξει, δηλαδή οι τιμές με αντίστοιχα μη θετικά κλειδιά (π.χ. χορδές, μη θετικοί ακέραιοι αριθμοί, αρνητικοί και θετικοί πλωτήρες κλπ.) Αναγνωρίζονται πλέον σωστά στην αξιολόγηση.
  • `stats.mean`,` stats.qmean`, `stats.sd` και` stats.var` τώρα επίσης επεξεργάζονται ακολουθίες.
  • Η νέα συνάρτηση «stats.mode» επιστρέφει όλες τις τιμές σε μια ακολουθία ή πίνακα με τον μεγαλύτερο αριθμό περιστατικών, δηλαδή την υψηλότερη συχνότητα.
  • Η νέα συνάρτηση «stats.quartiles» επιστρέφει το πρώτο, το δεύτερο και το τρίτο τεταρτημόριο ενός πίνακα ή μιας ακολουθίας.
  • Στο προηγούμενο εγχειρίδιο έχουν προστεθεί προηγουμένως μη τεκμηριωμένα χαρακτηριστικά του `linalg.matrix` και έχει βελτιωθεί ο χειρισμός του σφάλματος.
  • Βελτιωμένο χειρισμό σφαλμάτων του `linalg.hilbert`.
  • `gdi.setinfo` τώρα δέχεται την επιλογή` square`. Εάν το τετράγωνο = false, τότε οι άξονες x και y δεν θα έχουν την ίδια κλίμακα σε οικόπεδα που δημιουργήθηκαν με το `gdi.plot`.
  • Δυστυχώς, η λειτουργία `gdi.plot` για να σχεδιάσουμε γραφικά δεν έχει τεκμηριωθεί. Αυτό έχει αλλάξει.
  • Το `gdi.plot` δέχεται δύο νέες επιλογές: Η επιλογή 'x' καθορίζει το οριζόντιο εύρος στο οποίο εμφανίζεται μια γραφική παράσταση και η επιλογή 'y' καθορίζει το κάθετο εύρος.
  • Εάν μια δομή PLOT μεταβιβαστεί στο `gdi.plot` που περιέχει μόνο POINT, LINES, RECTANGLES, TRIANGLEs, CIRCLEs και ELLIPSEs (συμπεριλαμβανομένων των παραγεγραμμένων παραλλαγών τους), τότε το gdi.plot καθορίζει αυτόματα τις κλίμακες gdi.setinfo` δεν χρειάζεται απαραίτητα να καλείται).
  • Τα χαρακτηριστικά OOP που κληρονομούνται από τη Lua είναι τώρα τεκμηριωμένα στο Παράρτημα A9. Ο συγγραφέας δεν συνιστά τον προγραμματισμό αντικειμένων.
  • Συντονισμός:
  • Ρυθμίστηκε ο «γεμισμένος» χειριστής κατά περίπου 3%.
  • Τυποποιημένα `in`,` join`, `sadd`,` qsadd`, `replace`,` copy`, `unique` και ο Cantor θέτουν τους χειριστές σε πίνακες και ρυθμίζουν λίγο.
  • Με τους πίνακες, οι χειριστές `top` και` bottom` είναι τώρα περίπου 5% γρηγορότεροι.
  • Ο χειριστής μεγέθους είναι τουλάχιστον 8% γρηγορότερος εάν ένας πίνακας δεν περιλαμβάνει nulls
  • `linalg.mzip`,` linalg.mmul` και `linalg.transpose` έχουν ρυθμιστεί κατά περίπου 3% το καθένα.
  • Τα αριθμητικά για τους / σε βρόχους με κλασματικά μεγέθη βημάτων έχουν βελτιστοποιηθεί μειώνοντας κατά το ήμισυ τον αριθμό των μεταβλητών ελέγχου. Αυτό, ωστόσο, δεν επέτυχε αύξηση της ταχύτητας.
  • Επικαλύψεις:
  • Επικαλυμμένη `linalg.ludecomp` για την ανίχνευση μοναδιαίων πινάκων. Επίσης, η συνάρτηση μπορεί τώρα να καθορίσει αυτόματα τη σειρά του δεδομένου πίνακα.
  • Σε αντίθεση με το εγχειρίδιο, το `gdi.plot` δεν καθορίζει αυτόματα τις οριζόντιες και κάθετες περιοχές. Αυτό έχει καθοριστεί.
  • `gdi.plot` δεν αγνοεί πλέον την επιλογή` square` που έχει οριστεί από το `gdi.setinfo`.
  • `gdi.setinfo` πρόσθεσε τις ρυθμίσεις στις δομές INFO ακόμα κι αν έχουν ήδη υπάρξει. Αυτό έχει αλλάξει.
  • Οι κύκλοι δεν σχεδιάστηκαν σωστά από το gdi.plot. Αυτό έχει αλλάξει.
  • Η συνάρτηση `gdi.plot` στις περισσότερες περιπτώσεις αγνόησε το ατομικό χρώμα των γεωμετρικών αντικειμένων. Αυτό έχει αλλάξει.
  • Το πακέτο gdi δεν αναθέτει σύντομα ονόματα για τα `gdi.settriangle`,` gdi.settrianglefilled`, `gdi.setrectangle` και` gdi.setrectanglefilled`. Αυτό έχει αλλάξει.
  • Το πακέτο fractals δεν αναθέτει σύντομα ονόματα για τις λειτουργίες του καθορισμένου από τον χρήστη τύπου 'esctime'. Αυτό έχει αλλάξει. Διορθωμένο μήνυμα σφάλματος του "fractals.draw" εάν τα επιχειρήματα θέσης δεν ήταν αριθμοί.
  • Διάφορα:
  • Η λειτουργικότητα του `calc.fseq` έχει συγχωνευθεί σε` nseq`. Για την προς τα πίσω συμβατότητα, το `calc.fseq` εξακολουθεί να είναι μέρος του πακέτου calc, αλλά η λειτουργία αναφέρεται πραγματικά στην εφαρμογή` nseq`.
  • Προστέθηκε η μεταβλητή `environ.FractScreenUpdates` στο πακέτο` fractals` για να υποδηλώσει τον αριθμό κάθετων γραμμών (μη αρνητικός ακέραιος αριθμός) μετά τον οποίο ένα fractal θα ενημερωθεί σε ένα παράθυρο. Η μεταβλητή 'environ.FractOptimised` έχει καταργηθεί.
  • Οι βοηθητικές λειτουργίες gdi έχουν ανασυγκροτηθεί.

Τι νέο υπάρχει στην έκδοση 1.3.3:

  • Επικαλύπτει το `instr`:
  • Όταν βρίσκεται σε κατάσταση επανάληψης, ο χειριστής επέστρεψε λάθος αποτέλεσμα αν έχει δοθεί μια θέση εκκίνησης.
  • Όταν βρίσκεστε σε κατάσταση απλής αναζήτησης, ο χειριστής επέστρεψε ένα σφάλμα εκτός περιοχής εάν δεν δόθηκε καμία θέση εκκίνησης.
  • Εκτός από τη λειτουργία αντίστροφης αναζήτησης, αν δεν βρέθηκε καμία αντιστοίχιση, το πρώτο όρισμα έχει επιστραφεί αντί για το "null".
  • Διορθωμένο μήνυμα σφάλματος της δήλωσης `create` σε σχέση με τις ακολουθίες.
  • Στο AgenaEdit, όταν εκτελούνται περισσότερες από μία δομές με μία μόνο κλήση για «εκτύπωση», οι δομές δεν εκτυπώθηκαν σε πλήρη μορφή, εάν στην πρώτη δομή υπήρχε ένα __tostring metamethod. Αυτό έχει αλλάξει.

Τι νέο υπάρχει στην έκδοση 1.3.2:

  • Αυτή η έκδοση περιλαμβάνει διορθώσεις σφαλμάτων, επεκτάσεις και βελτιωμένο εγχειρίδιο:
  • "Dimension" δημιούργησε ενδιαφέροντα αποτελέσματα εάν μια δομή έχει περάσει ως
  • αρχικοποιητής. Αυτό έχει αλλάξει: η `διάσταση` δημιουργεί τώρα ανεξάρτητα αντίγραφα του
  • δομή κατά την αρχικοποίηση του πίνακα.
  • Η λειτουργικότητα του `strings.rseek` έχει προστεθεί στον χειριστή` instr`.
  • Έτσι, ο όρος "strings.rseek" έχει καταργηθεί. Για συμβατότητα προς τα πίσω,
  • `strings.rseek` έχει προστεθεί στο αρχείο lib / compat.agn.

  • Το
  • `strings.hits` υποστηρίζει τώρα κανονικές εκφράσεις και συλλαμβάνει. Αυτή η συμπεριφορά
  • μπορεί να απενεργοποιηθεί μεταφέροντας ένα boolean ως ένα τρίτο επιχείρημα.
  • `strings.isabbrev` και` strings.isending` τώρα χρησιμοποιούν αυτόματα μια απλή αναζήτηση
  • αν δεν έχουν περάσει κανονικές εκφράσεις ή λήψεις ως μέρος του δεύτερου
  • .
  • Βελτιωμένες `strings.ismagic` και` strings.isfloat`.
  • Η λειτουργία `log 'είναι τώρα 13% ταχύτερη.
  • Όταν εξάγετε περισσότερες από μία δομές με μία μόνο κλήση για `print ',
  • Οι δομές δεν εκτυπώθηκαν σε πλήρη μορφή αν η πρώτη δομή είχε μια __tostring
  • metamethod. Αυτό έχει αλλάξει.
  • Προστέθηκαν κατηγοριοποιήσεις λειτουργιών στο Κεφάλαιο 7 για να διευκολυνθεί η εκκίνηση για νέα
  • χρήστες.

Τι νέο υπάρχει στην έκδοση 1.3.1:

  • Έχουν υπάρξει προβλήματα με τις ενωμένες κλήσεις στους ακόλουθους δυαδικούς χειριστές: `xor`,` atendof`, `& amp;`, `||`, `^^`, `::` και `: - `, και έτσι και με τον όμορφο εκτυπωτή που κλείνει με σφάλμα κατά την εκτύπωση των ένθετων δομών. Αυτό έχει καθοριστεί.
  • Τέσσερις διορθώσεις στο `os.list`: Εάν η επιλογή 'r' έχει περάσει, ο τρέχων κατάλογος εργασίας έχει αλλάξει λάθος μετά την ολοκλήρωση της κλήσης.
  • Εάν το 'r' δεν έχει περάσει ως το τελευταίο όρισμα, η συνάρτηση έδωσε ένα σφάλμα.
  • `null` δεν έχει γίνει αποδεκτό ως το πρώτο όρισμα που υποδηλώνει τον τρέχοντα κατάλογο εργασίας.
  • Στα Windows 7, η εκτύπωση των περιεχομένων του ριζικού καταλόγου δεν λειτούργησε, δηλαδή το αρχείο os.list ('c:') επέστρεψε τα περιεχόμενα του τρέχοντος καταλόγου εργασίας.
  • Όταν μια συμβολοσειρά ήταν ευρετηριασμένη με μη αριθμό, π.χ. "str [null]", η Agena επέστρεψε `null`. Τώρα δημιουργείται ένα σφάλμα.
  • Εάν δεν βρέθηκε το αρχείο library.agn, η λάθος διαδρομή έχει εξαχθεί δύο φορές στην προειδοποίηση. Αυτό έχει αλλάξει.

Τι νέο υπάρχει στην έκδοση 1.2:

  • Ο χειριστής υποστέλεσης έχει επανασχεδιαστεί αλλά η παλιά έκδοση θα είναι ακόμα διαθέσιμη μέχρι την Agena 2.0: η νέα είναι: `str [αριστερά προς τα δεξιά]`, η παλιά ήταν: `str $ (αριστερά, δεξιά) . Ένα παράδειγμα: πριν: 'str: =' string '; print (str $ (2, 3)) `- & gt; 'tr' τώρα: `str: = 'string'; εκτύπωση (str [2 έως 3]) `- & gt; 'tr'
  • Τώρα μπορείτε να προσδιορίσετε τους υποτομείς πίνακες και ακολουθίες με τη νέα σύνταξη που αναφέρθηκε παραπάνω: `s [από αριστερά προς τα δεξιά]`. Ένα παράδειγμα: τώρα: `a: = [10, 20, 30, 40]; εκτύπωση (a [2 έως 3]) `- & gt; [20, 30] τώρα: `a: = seq (10, 20, 30, 40). εκτύπωση (a [2 έως 3]) `- & gt; seq (20, 30)
  • Η συνάρτηση `ops` επιτρέπει τώρα να προσδιοριστούν οι τιμές που πρέπει να επιστραφούν μεταφέροντας μια ακολουθία των θέσεων ευρετηρίου ως το πρώτο τους επιχείρημα, π.χ. ops (επόμενο (1, -1), 10, 20,
  • 30).
  • Η νέα συνάρτηση «strings.include» εισάγει μια ακολουθία χαρακτήρων σε μια συμβολοσειρά
  • σε μια δεδομένη θέση.
  • Οι παρακάτω λειτουργίες εκδίδουν τώρα ένα σφάλμα αντί να επιστρέφουν απλώς το 'fail' στο
  • περίπτωση αποτυχίας: `os.remove`,` os.move`, `os.mkdir`,` os.rmdir`, `os.chdir`.
  • Βελτιώσεις στους ακόλουθους χειριστές που δουλεύουν σε σύνολα και ακολουθίες που αφορούν τη συλλογή απορριμμάτων: δήλωση `insert ',' union ',' intersection ',' minus ',' unique ',' copy ',' pop / top ' και `pop / bottom` δηλώσεις και ορίστε αναθέσεις.
  • Βελτιωμένο μήνυμα σφάλματος `fractals.draw` εάν το αρχείο χάρτη χρωμάτων FRACTINT δεν έχει
  • δεν βρέθηκε.

Τι νέο υπάρχει στην έκδοση 1.1.0:

  • Αυτή η έκδοση διαθέτει νέες λειτουργίες και ένα καθαρισμένο χώρο ονομάτων.
  • Συμβατότητα με το Agena 1.0:
  • Ορισμένες λειτουργίες έχουν αφαιρεθεί από την Agena και μερικές έχουν μετατραπεί σε λειτουργίες πακέτων (δείτε παρακάτω). Αν θέλετε ακόμα να τα χρησιμοποιήσετε, εκδώστε το readlib 'compat' στη γραμμή εντολών ή τοποθετήστε την παραπάνω δήλωση στο αρχείο αρχικοποίησης αν προτιμάτε την συμβατότητα με την Agena 1.0.
  • Εκτεταμένη λειτουργικότητα:
  • Οι δηλώσεις `pop / top` και` pop / bottom` και οι χειριστές `bottom` και` top` μπορούν τώρα να εφαρμοστούν και σε πίνακες πίνακα.
  • Όταν καλείται με `null` ή δεν υπάρχουν επιχειρήματα, το` os.chdir` δεν εκδίδει πλέον ένα σφάλμα αλλά επιστρέφει τον τρέχοντα κατάλογο εργασίας. Έτσι, η προηγούμενη λειτουργία "os.curdir" C αντικαταστάθηκε από ένα γράμμα στη γλώσσα Agena.

  • Το
  • `os.list` μετακινείται τώρα αναδρομικά στους υποφακέλους αν δίνεται η νέα επιλογή 'r'.
  • Ο χειριστής `join` τώρα δέχεται επίσης έναν προαιρετικό οριοθέτη και υποστηρίζει την επιλογή για να καθορίσετε το πρώτο και το τελευταίο στοιχείο της δομής που θα συσχετιστεί.
  • `instr` μπορεί τώρα να πραγματοποιήσει αναζήτηση από το δεξιό άκρο μιας συμβολοσειράς περνώντας μια αρνητική θέση.
  • Εάν ένας πίνακας περιλαμβάνει άλλους πίνακες, σύνολα, ακολουθίες ή ζεύγη, το `copy` τώρα ξέρει πώς να χειριστεί σωστά αυτές τις αναφορές εάν εμφανίζονται πολλές φορές: Εάν μια ενσωματωμένη δομή περιλαμβάνεται n φορές, τότε γίνεται ένα πραγματικό αντίγραφο και Αναφέρονται n-1 αναφορές σε αυτή τη νεοδημιουργηθείσα δομή. Πριν από, έχουν γίνει ανεξάρτητα αντίγραφα.
  • Η νέα λειτουργία `isnonposint` ελέγχει εάν οι συγκεκριμένοι αριθμοί είναι όλοι ακέραιοι και μη θετικοί.

  • Το
  • `io.close` μπορεί τώρα να κλείσει πολλά αρχεία με μία μόνο κλήση.
  • Η συνάρτηση `with` δεν αναθέτει σύντομα ονόματα για τις ακόλουθες διαδικασίες του πακέτου` math`: `convertbase`, 'fraction`,` zeroin`, `todecimal`,` lcm`, `gcd`, ndigits ". Αυτό διορθώθηκε.
  • Η λειτουργία `rwritemode` που αναφέρεται στο εγχειρίδιο δεν υπήρχε. Είναι τώρα διαθέσιμο αλλά ονομάζεται `rmode`.
  • Τα μηνύματα σφάλματος διαφόρων λειτουργιών έχουν βελτιωθεί.
  • Καθαρισμός χώρου ονομάτων: Μετονομασμένες ή μετακινούμενες λειτουργίες:
  • Οι λειτουργίες βιβλιοθήκης βάσης `register` και` loadclib` έχουν μετακινηθεί στη βιβλιοθήκη `package`.
  • Τα παλιά πακέτα `rdelete`,` rget`, `rinit`,` roinit`, `rmode`,` rset`, `remember 'και` default` λειτουργίες βιβλιοθήκης έχουν μεταφερθεί στο νέο πακέτο `rtable`
  • Μετονομάσατε τον παγκόσμιο πίνακα _Env σε περιβάλλον, ο οποίος τώρα περιέχει επίσης διαδικασίες πρόσβασης στο περιβάλλον.
  • Οι πρώην γενικές μεταβλητές περιβάλλοντος «homedir» και «infolevel» έχουν μετονομαστεί σε `environ.homedir` και` environ.infolevel`, αντίστοιχα.
  • Οι ακόλουθες παλιές βασικές λειτουργίες της βιβλιοθήκης μεταφέρθηκαν στο πακέτο `environ`:` anames`, `attrib`,` gc`, `getfenv`,` globals`, `isselfref`,` pointer`, `setfenv` , `used`,` userinfo`, `__RESTART`,` __DOTTYPRINT`.

  • Το
  • mapm.xtoNumber μετονομάστηκε σε `mapm.xtonumber`, το` mapm.xtoString` έχει μετονομαστεί σε `mapm.xtostring`. Για συμβατότητα προς τα πίσω, τα παλιά ονόματα λειτουργιών μπορούν ακόμα να χρησιμοποιηθούν εκτελώντας το αρχείο lib / compat.agn (πρώτα να αναβαθμίσετε το πακέτο `mapm` και στη συνέχεια να φορτώσετε το αρχείο compat.agn).
  • Αποσυνδεδεμένες λειτουργίες και μεταβλητές:
  • `strings.seek` έχει καταργηθεί. Η λειτουργικότητά του έχει προστεθεί στον χειριστή `instr`. Για να απενεργοποιήσετε τη λειτουργία αντιστοίχισης προτύπων `instr`, περάστε την αρχή της αναζήτησης ως την τρίτη και την 'true' ως το τέταρτο επιχείρημα. `instr` είναι περίπου 40% γρηγορότερος σε λειτουργία μη αντιστοίχισης προτύπων από το` strings.seek`. Για συμβατότητα προς τα πίσω, στο αρχείο lib / compat.agn προστέθηκε το αρχείο `strings.seek`.
  • Η λειτουργία "concat" library library έχει αφαιρεθεί. Χρησιμοποιήστε την επιλογή `join '. Για συμβατότητα προς τα πίσω, η προηγούμενη λειτουργία έχει προστεθεί στο αρχείο lib / compat.agn.
  • Έχουν αφαιρεθεί οι λειτουργίες `hotruth` και` hasrotable`. Για συμβατότητα προς τα πίσω, έχουν προστεθεί στο αρχείο lib / compat.agn.
  • Η λειτουργία `pcall` έχει καταργηθεί. Στη συνέχεια, χρησιμοποιήστε την επιλογή `protect '. Για συμβατότητα προς τα πίσω, η λειτουργία έχει προστεθεί στο αρχείο lib / compat.agn.
  • Η συνάρτηση `maptoset` έχει καταργηθεί. Για συμβατότητα προς τα πίσω, η λειτουργία έχει προστεθεί στο αρχείο lib / compat.agn.
  • Η λειτουργία `os.alldirs` έχει καταργηθεί. Χρησιμοποιήστε τις επιλογές 'dirs' και 'r' σε μια κλήση στο `os.list` αντ 'αυτού. Για συμβατότητα προς τα πίσω, η λειτουργία έχει προστεθεί στο αρχείο lib / compat.agn.
  • `os.isMac`,` os.isSolaris`, `os.isLinux`,` os.isWin`, `os.isOS2`,` os.isDOS`, `os.isHaiku` έχουν καταργηθεί. Χρησιμοποιήστε αντί αυτού τις νέες μεταβλητές περιβάλλοντος environ.Os και environ.Cpu, οι οποίες επίσης επιταχύνουν τον κώδικα. Για συμβατότητα προς τα πίσω, οι λειτουργίες έχουν προστεθεί στο αρχείο lib / compat.agn.
  • Η μη καταχωρημένη μεταβλητή _VERSION έχει αφαιρεθεί. Για συμβατότητα προς τα πίσω, η εκχώρησή της έχει προστεθεί στο αρχείο lib / compat.agn.
  • Άλλες αλλαγές:
  • Η συνάρτηση C API lua_rawsetstringnumber που αναφέρεται στο εγχειρίδιο δεν υπήρχε. Αυτό έχει αλλάξει.
  • Βελτιστοποίηση κώδικα στον αναλυτή.
  • Σε μερικά από τα πακέτα, κατά λάθος μερικές μεταβλητές έχουν σιωπηρά δηλωθεί σε παγκόσμια κλίμακα. Αυτό έχει καθοριστεί.
  • Διορθωμένα και ενημερωμένα αρχεία δειγμάτων αρχικοποίησης
  • Το AgenaEdit έχει ενημερωθεί.
  • Τα αρχεία σχήματος γλώσσας έχουν ενημερωθεί.
  • Τα προγράμματα εγκατάστασης του Linux περιλαμβάνουν πλέον το πακέτο xBase.

Τι νέο υπάρχει στην έκδοση 1.0.6:

  • Βελτιωμένα μηνύματα σφάλματος των "join", "copy" και "filled" χειριστών, των λειτουργιών `toset`,` toseq` και `totable` των δηλώσεων` insert`, `delete`, και των βρόχων `for`.

  • Με ακολουθίες, η Agena συνετρίβη με την ακόλουθη ακολουθία συμβάντων: 1) είχε εκτελεστεί μια δήλωση `delete`, 2) η ακολουθία που ακολουθεί ήταν άδειου και 3) ένα καινούριο στοιχείο είχε εισαχθεί και πάλι. Αυτό έχει καθοριστεί. (Εσωτερικά, η εντολή `delete` δεν μειώνει πλέον εσωτερικά το μέγεθος των ακολουθιών.)
  • Με μεγάλες χορδές, το 'concat` συνετρίβη. Αυτό έχει καθοριστεί.
  • Με συμβολοσειρές των 512 και περισσότερων byte, το `join` και το 'replace' θα μπορούσε να καταρρεύσει. Αυτό έχει καθοριστεί. Οι δύο χειριστές είναι πλέον πολύ πιο γρήγορα από ποτέ.
  • `math.isprime` επέστρεψε λάθος αποτελέσματα με επιχειρήματα & gt; 2 ^ 31 (αναφέρεται αόριστα στο εγχειρίδιο). Αυτό έχει διορθωθεί διευρύνοντας το εύρος των παραμέτρων σε ακέραιους με τιμές μέχρι +/- 2 ^ 63.
  • `math.nextprime` και` math.prevprime` είχαν το ίδιο πρόβλημα με μεγαλύτερα επιχειρήματα όπως `math.isprime`. Αυτό έχει επίσης αλλάξει. Με το όρισμα 2, το `io.nextprime 'επιστρέφει ψευδώς 5 αντί για 3. Αυτό έχει επίσης καθοριστεί.

Τι νέο υπάρχει στην έκδοση 1.0.5:

  • `join` θα μπορούσε να συντρίψει την Agena και να συμπεριφέρεται απροσδόκητα αν η προκύπτουσα συμβολοσειρά
  • υπερέβη τα 512 byte. Αυτό έχει αλλάξει.
  • Αν έχει ζητηθεί επανεκκίνηση μετά την έκδοση ενός σφάλματος στο προηγούμενο
  • , η Agena σε σπάνιες περιπτώσεις συνετρίβη λόγω της διαφθοράς στοίβας. Αυτό ήταν
  • σταθερό.
  • Με πρόσφατα δημιουργημένους πίνακες που περιέχουν ακριβώς ένα στοιχείο στο τμήμα κατακερματισμού, `attrib`
  • τώρα επιστρέφει τα σωστά αποτελέσματα για τον αριθμό των διαθέσιμων υποδοχών κατακερματισμού (1 αντί για 0).
  • Διορθωμένα μηνύματα λάθους `qsadd` και` sadd`.
  • Βελτιωμένα μηνύματα σφάλματος των "join", "copy" και "filled" operators και του `insert '
  • και .
  • Έχει βελτιωθεί ο χειρισμός σφαλμάτων των `read ',` save' και `fractals.draw`.
  • Βελτιώσεις στα makefiles.
  • Τα μεγέθη των buffer έχουν πλέον τυποποιηθεί στις πηγές.

Τι νέο υπάρχει στην έκδοση 1.0.4:

  • Δεδομένου ότι κατά την αρχικοποίηση έχουν αναφερθεί σπάνιες συγκρούσεις (σε ορισμένες περιπτώσεις, στα Windows XP SP 3 και OpenSolaris 134), η συλλογή απορριμμάτων είναι πλέον απενεργοποιημένη στη φάση αρχικοποίησης. Αυτά τα σφάλματα σπάνιας κατάτμησης εμφανίστηκαν στο OpenSolaris κατά την εκτέλεση του δυαδικού Agena στον κατάλογό του ως root και στο XP όταν κάνετε κλικ στο εικονίδιο επιφάνειας εργασίας της Agena με τοπικά δικαιώματα διαχειριστή.
  • Παρουσιάστηκε ο διακόπτης -d στις επιλογές γραμμής εντολών για την εκτύπωση πληροφοριών κατά την αρχικοποίηση της Agena.
  • Παρουσιάστηκε σωστός χειρισμός σφάλματος αν η εσωτερική μνήμη δεν μπορούσε να διανεμηθεί σε: "trim", "upper", "lower", "os.curdir" και "strings.rseek".
  • Αφαιρέθηκαν τυχόν διαρροές μνήμης στις λειτουργίες C αρχικοποίησης agenaL_initialise και agenaL_setLibname και στο `io.write *` και `print`.

Τι νέο υπάρχει στην έκδοση 1.0.3:

  • Η νέα συνάρτηση `protect` καλεί μια διαδικασία σε προστατευμένη λειτουργία και συλλαμβάνει κάθε πιθανό σφάλμα ώστε να μην διακόπτεται ο υπολογισμός. Σε περίπτωση σφάλματος, ορίζει τη συμβολοσειρά σφάλματος στην παγκόσμια μεταβλητή `lasterror`. Σχετίζεται με το "pcall", αλλά δεν επιστρέφει τον κωδικό κατάστασης ως το πρώτο αποτέλεσμα.
  • `attrib` επιστρέφει τώρα τα σωστά αποτελέσματα με κενές δομές. Με κενές δομές, η συνάρτηση εσφαλμένα καταμέτρησε ένα εκχωρημένο στοιχείο hash πριν.
  • `attrib` επιστρέφει τώρα τον αριθμό των bytes που καταλαμβάνουν πίνακες, σύνολα και ακολουθίες μαζί με το νέο κλειδί 'bytes'. Ο αριθμός των bytes που επιστρέφεται βασίζεται σε ορισμένες φορές αντιφατικές πληροφορίες που είναι διαθέσιμες στο διαδίκτυο.
  • Αντικαταστήστε το Agena εάν η προκύπτουσα συμβολοσειρά υπερβαίνει τα 512 byte. Αυτό έχει αλλάξει.
  • `assumume` επιστρέφει τώρα 'Η προσφορά απέτυχε.' αντί για "υπόθεση αποτυχία."
  • Η νέα λειτουργία C API lua_setglobal2 ορίζει την τιμή στην κορυφή της στοίβας σε ένα παγκόσμιο όνομα. Σε αντίθεση με την λήψήsetglobal, η τιμή δεν εμφανίζεται.
  • Καθαρισμός κώδικα του lobject.h (δομή πίνακα) και lapi.c (macro actnodesize). Η λειτουργία Bugfix σε C API λειτουργεί με agn_deletertable σε περίπτωση που η Agena καταρτίζεται με non-void lua_assert. Αλλάξτε την τιμή επιστροφής της συνάρτησης savestate που χρησιμοποιείται κατά την αρχικοποίηση για να αποτρέψετε την (ελαφρά) πιθανότητα διαφθοράς στοίβας.

Τι νέο υπάρχει στην έκδοση 1.0.2:

  • Η νέα διαδικασία `os.setenv` ορίζει μεταβλητές περιβάλλοντος στο επίπεδο του λειτουργικού συστήματος. Η λειτουργία έχει αρχικά γραφτεί από τον Mark Edgar.
  • Στα Windows, το `os.getenv` καλεί τώρα μια εγγενή λειτουργία API των Windows για να πάρει τις τιμές των μεταβλητών περιβάλλοντος. Ο κώδικας των Windows έχει γραφτεί από τον Mark Edgar.
  • Η νέα συνάρτηση `os.environ 'επιστρέφει όλες τις καθορισμένες μεταβλητές περιβάλλοντος σε έναν πίνακα. Η λειτουργία έχει αρχικά γραφτεί από τον Mark Edgar.
  • `io.open` τώρα προσθέτει στον νέο πίνακα` io.openfiles` τον δείκτη FILE, το όνομα και τη λειτουργία ενός αρχείου που άνοιξε με επιτυχία. Το `io.close` διαγράφει την καταχώρηση από το` io.openfiles` αν το αρχείο μπορεί να κλείσει με επιτυχία.
  • Όταν ονομάζεται χωρίς όρια, το `io.read` επιστρέφει τώρα ένα σφάλμα εάν ονομάζεται χωρίς όρια στο AgenaEdit (σε μια προσπάθεια να διαβάσει το πληκτρολόγιο).
  • Αν στο AgenaEdit ονομάζονται `io.keykey` και` io.getkey`, εμφανίζεται ένα σωστό μήνυμα σφάλματος.
  • Έχει αλλάξει μία από τις υπο-διαδικασίες αρχικοποίησης για να αποφευχθεί πιθανή διαφθορά στοίβας (αν και δεν έχουν προκύψει ποτέ προβλήματα).

  • Το
  • os.isMac ('ppc') λειτουργεί τώρα σε μηχανές PowerPC.
  • Τα κεφάλαια 4 και 6 του Primer and Reference έχουν αναθεωρηθεί και επεκταθεί. Έχει προστεθεί ένας κατάλογος και πολλά καλλυντικά έχουν επίσης γίνει.
  • Αποθηκευμένες πληροφορίες ορθής έκδοσης στο εκτελέσιμο αρχείο των Windows

Τι νέο υπάρχει στην έκδοση 1.0:

  • Αγαπητοί κυρίες και κύριοι,
  • μετά από σχεδόν τέσσερα χρόνια ανάπτυξης, δημοσίευσα την Agena 1.0, μια γλώσσα διαδικαστικής προγραμματισμού, που προέρχεται από πηγές Lua C.
  • Η κοινότητά μου είναι στην πραγματικότητα πολύ, πολύ μικρή, αλλά μερικοί χρήστες μου είπαν ότι ήταν ωραία, χρήσιμη και σταθερή.
  • Θα ήμουν πολύ χαρούμενος αν αναθεώρησα την Agena και με πληροφόρησε για τα αποτελέσματά σας. Αν δεν το θεωρείτε χρήσιμο, παρακαλώ πείτε μου προσωπικά και μου δίνετε την ευκαιρία να διορθώσω τα ζητήματα.

Τι νέο υπάρχει στην έκδοση 0.34.1d:

  • Αυτή η έκδοση περιλαμβάνει μια ενημερωμένη έκδοση GUI του AgenaEdit (δείτε εκτελέσιμο αρχείο agenaedit).

Τι νέο υπάρχει στην έκδοση 0.34.1:

  • Το AgenaEdit με την περιγραφή και την ενσωματωμένη μηχανή χρόνου εκτέλεσης κυκλοφόρησε με το Agena 0.34.1.

Τι νέο υπάρχει στην έκδοση 0.34.0:

  • Το AgenaEdit με τον τίτλο syntax-highlighting και τον ενσωματωμένο κινητήρα runtime απελευθερώθηκε με το Agena 0.34.0.

Τι νέο υπάρχει στην έκδοση 0.33.2:

  • Η Agena 0.33.2 με την υποστήριξη αρχείων xBase έχει κυκλοφορήσει.

Τι νέο υπάρχει στην έκδοση 0.33.1:

  • Agena 0.33.1 με υποστήριξη αρχείων xBase έχει κυκλοφορήσει.

Τι νέο υπάρχει στην έκδοση 0.33.0:

  • Το νέο πακέτο `xbase` μπορεί να διαβάσει και να γράψει αρχεία xBase συμβατά με το πρότυπο dBASE III.
  • Τα πακέτα `binio` και` ads` μπορούν τώρα να χειριστούν αρχεία έως και 2 ^ 63 byte. Πριν μπορέσουν να χειριστούν μόνο αρχεία μεγέθους έως και 2 ^ 31 byte.
  • Οι νέες λειτουργίες `io.lock`,` io.unlock`, `binio.lock`,` binio.unlock`, `ads.lock` και` ads.unlock` κλειδώνουν ένα αρχείο από την πρόσβαση ανάγνωσης και εγγραφής με άλλες Agena
  • λειτουργίες ή ακόμα και άλλες εφαρμογές υπό τον όρο ότι το τελευταίο χρησιμοποιεί πρωτόκολλο ασφάλισης.
  • Η συνάρτηση baselib `read 'δεν μπορεί πλέον να αντικατασταθεί με` with`.
  • Το νέο `package.checkClib` ελέγχει εάν έχει αρχικοποιηθεί ένα πακέτο που είναι αποθηκευμένο σε μια δυναμική βιβλιοθήκη C. Εάν όχι, επιστρέφει μια προειδοποίηση που εκτυπώνεται στην οθόνη και δημιουργεί έναν κενό πίνακα πακέτων. Διαφορετικά δεν κάνει τίποτα.
  • Η θύρα Haiku υποστηρίζει τώρα βιβλιοθήκες δυναμικής σύνδεσης.

Τι νέο υπάρχει στην έκδοση 0.32.3:

  • Η Agena 0.32.3 με νέες και συντονισμένες λειτουργίες Λογισμού έχει κυκλοφορήσει.
  • Οι χρήστες Mac δεν χρειάζεται πλέον να εγκαθιστούν πρόσθετες βιβλιοθήκες εξάρτησης.
  • Μια θύρα Haiku είναι τώρα διαθέσιμη.

Τι νέο υπάρχει στην έκδοση 0.31.5:

  • Αυτή η έκδοση περιέχει ενσωματωμένα γραφικά, αυθαίρετα μαθηματικά ακρίβειας και βελτιωμένα χαρακτηριστικά.

Τι νέο υπάρχει στην έκδοση 0.31.3:

  • Προστέθηκε το πακέτο fractals για εύκολη σχεδίαση fractals σε Solaris, Mac, Linux και Windows.
  • Στον Solaris και στο Linux, το `gdi.mouse` επιστρέφει τώρα τις τυπικές τιμές για τα κουμπιά του ποντικιού (τα ίδια με τα εκδόσεις Mac και Windows).
  • Όταν δοθεί η επιλογή -v, η Agena δεν εκτελεί πλέον τα αρχεία αρχικοποίησης
  • Σε UNIX ή Mac, τα ονόματα αρχείων των αρχείων προετοιμασίας πρέπει να είναι πάντοτε `.agenainit`, είτε είναι στο / usr / agena / lib είτε στον προσωπικό φάκελο.
  • Η δυαδική διανομή Mac για επεξεργαστές Intel διαρκεί περίπου 30% ταχύτερα από προηγούμενες εκδόσεις.
  • Η λειτουργία `io.getkey` είναι πλέον διαθέσιμη στην έκδοση Mac OS X.
  • Σε Mac, το `os.system` επιστρέφει τώρα πλήρεις πληροφορίες σχετικά με το λειτουργικό σύστημα και τον τύπο CPU. Σημειώστε ότι επιστρέφει πληροφορίες σχετικά με τον πυρήνα του Darwin και ότι η πρώτη καταχώρηση στον πίνακα που προκύπτει είναι «Darwin» αντί για «MacOSX».
  • `os.memstate`,` os.freemem` και `os.beep` υποστηρίζουν τώρα το Mac OS X.

  • Το
  • `io.keykey` είναι διαθέσιμο σε όλες τις πλατφόρμες, αλλά επιστρέφει` fail 'σε DOS και Mac. Έτσι, το `gdi.draw` δεν θα πετάξει πια λάθη στο Mac όταν χρησιμοποιείτε την επιλογή 'ποντίκι'.
  • Το
  • `os.listcore` έχει επεκταθεί για να επιστρέψει μόνο ονόματα αρχείου, καταλόγου ή συνδέσμων. '.' και '..' τώρα δεν επιστρέφονται ποτέ.
  • `os.list` δεν αναγνώρισε καμία επιλογή και επέστρεψε μια κενή λίστα. Αυτό έχει καθοριστεί. Επίσης, οι επιλογές μπορούν τώρα να συνδυαστούν. '.' και το ".." ως το πρώτο επιχείρημα είναι πλέον σωστά αναγνωρισμένο.

  • Το
  • `os.curdir` τώρα αντικαθιστά αυτόματα τις πλάτες πλάτης στη διαδρομή που καθορίστηκε με πτέρυγες.
  • `os.fstat` και` ads.attrib` συνετρίβησαν στην Agena εάν η ημερομηνία ενός αρχείου ξεπέρασε την Τρίτη 19 Ιανουαρίου 2038. Αυτό έχει καθοριστεί είτε με την επιστροφή ενός κενού πίνακα για το κλειδί ημερομηνίας (os.fstat), ή 0/0/01 00:00:00, (ads.attrib).

  • Το
  • `utils.calendar` συνέτριψε την Agena αν το επιχείρημά της ήταν άκυρο, αρνητικό ή πολύ μεγάλο. Αυτό έχει αλλάξει. Επιπλέον, εάν μια ημερομηνία είναι πέρα ​​από την Τρίτη 19 Ιανουαρίου 2038, επιστρέφεται η σωστή ημερομηνία.
  • Οι νέες λειτουργίες `os.screensize` και` os.mousebuttons` επιστρέφουν την τρέχουσα ανάλυση οθόνης και τον αριθμό των κουμπιών του συνημμένου ποντικιού, αντίστοιχα (μόνο για Windows).
  • Το αρχείο agena.ini.sample μετονομάστηκε σε .agenainit.sample στις διανομές UNIX / Mac.
  • Ένα νέο makefile για το Solaris αποστέλλεται τώρα με τη δέσμευση Agen mapm για την πλήρη συμπλήρωση των αρχικών πηγών MAPM που γράφει ο Michael C. Ring.

Τι νέο υπάρχει στην έκδοση 0.31.2:

  • Το πακέτο mapm για ακρίβεια μαθηματικής αντιστοίχισης είναι τώρα επίσης διαθέσιμο στην έκδοση DOS της Agena.
  • Ο αριθμός των ψηφίων που χρησιμοποιούνται από το πακέτο mapm αρχικοποιείται σε 17 ψηφία κατά την εκκίνηση του Agena για DOS ή OS / 2 Warp. Προηγουμένως, η προεπιλογή ήταν 1 ψηφίο.
  • Ο κωδικός C για τη σύνδεση MAPM έχει τυποποιηθεί. Πριν, τα αρχεία προέλευσης DOS και OS / 2 διέφεραν από τα αρχεία προέλευσης για UNIX και Windows.
  • Μικρές βελτιώσεις στους εγκαταστάτες των Windows και Mac OS X
  • Σε Mac, η τεκμηρίωση είναι πλέον διαθέσιμη στη Βιβλιοθήκη / Τεκμηρίωση / Agena αντί για / Users / Share / Agena.
  • Οι λειτουργίες sin, cos, arcsin, arccos και arctan επέστρεψαν -0 αντί για 0 ​​ως φανταστική μονάδα, πράγμα που οδήγησε σε λάθος αποτελέσματα αν η επιστροφή αυτών των λειτουργιών είχε εφαρμοστεί σε άλλες λειτουργίες όπως ln της φανταστικής μονάδας του αποτελέσματος αυτών των άλλων λειτουργιών ήταν λανθασμένη). Αυτό έχει καθοριστεί με τη ρύθμιση της φανταστικής μονάδας -0 ως 0 στην επιστροφή της αμαρτίας, cos, arcsin, arc, και arctan.
  • Οι λειτουργίες arcsin και arccos επέστρεψαν λάθος αποτελέσματα για τα όρια z, αν abs (πραγματική ((z))) & lt; 1. Αυτό έχει καθοριστεί.
  • Στο λειτουργικό σύστημα OS / 2, οι πολύπλοκες αριθμητικές λειτουργίες επέστρεψαν απροσδιόριστα. Αυτό έχει καθοριστεί.
  • Σημειώστε ότι στα λειτουργικά συστήματα OS / 2 και DOS, στον σύνθετο τομέα εξακολουθούν να υπάρχουν προβλήματα με τους arccos και τους χειριστές arcsin που επιστρέφουν undefined σε ορισμένες περιπτώσεις.
  • Οι εκδόσεις Windows, i386 Solaris 10 και Linux έχουν πλέον καταρτιστεί με το GCC 4.4.x (και χωρίς το xmath86.h) που μείωσε σημαντικά τον αριθμό των σφαλμάτων σε σύνθετη αριθμητική. Στην πραγματικότητα, επεξεργασμένες σύνθετες περιπτώσεις μαθηματικών δοκιμών επιστρέφουν μηδενικά σφάλματα. Η έκδοση Sparc έχει συνταχθεί με το GCC 4.3.3 για Sun Sparc και έχει λιγότερα σφάλματα σε πολύπλοκες αριθμητικές αριθμήσεις από την έκδοση 0.31.1.
  • Μετονομάσατε τα ακόλουθα αρχεία: config.h - & gt; agncfg.h, chelpers.h - & gt; agnhlps.h, agnxlib.h - & gt; agnxlib.h.
  • Στον Mac, το gdi.mouse επιστρέφει τώρα τυπικές τιμές για τα κουμπιά του ποντικιού.

Τι νέο υπάρχει στην έκδοση 0.31.1:

  • Η Agena 0.31 περιλαμβάνει όλα τα βασικά εργαλεία για να σχεδιάσετε σημεία, γραμμές, κύκλους, ελλείψεις, ορθογώνια, τόξα. κ.λπ., για τον έλεγχο του μεγέθους της εικόνας και των χρωμάτων.

Τι νέο υπάρχει στην έκδοση 0.31.0:

  • Μια έκδοση γλωσσικής συνέπειας με μια επιδιόρθωση σφάλματος - έχει κυκλοφορήσει. Δείτε το αρχείο καταγραφής αλλαγών για όσα έχουν αλλάξει.

Τι νέο υπάρχει στην έκδοση 0.30.4:

  • Η Agena διαθέτει πλέον ενσωματωμένα γραφικά. Αυτό θα σας επιτρέψει να σχεδιάσετε γραφήματα, εικόνες κ.λπ. σε παράθυρα X11 ή Win32 ή σε αρχεία GIF, PNG, JPEG, FIG ή PostScript, τόσο σε Solaris, Linux και Windows. Η Agena συνδέεται με τη γραφική βιβλιοθήκη g2 που γράφει ο Ljubomir Milanovic και ο Horst Wagner, για να προσφέρει αυτές τις νέες δυνατότητες.
  • Το Agena 0.30 περιλαμβάνει όλα τα βασικά εργαλεία για να σχεδιάσετε σημεία, γραμμές, κύκλους, ελλείψεις, ορθογώνια, τόξα. κ.λπ., για τον έλεγχο του μεγέθους της εικόνας και των χρωμάτων.
  • & gt; με το "gdi"
  • πακέτο gdi v0.1.4 από τις 20 Δεκεμβρίου 2009
  • τόξο, arcfilled, φόντο, κύκλο, circlefilled, clearpalette, κλείσιμο, παύλα, ελλειψοειδές, ελλειψοειδές, φλος, γραμματοσειρά, initpalette, μελάνι, lastaccessed, γραμμή, newline, νέο σημείο, ανοικτό, οικόπεδο, plotfn, σημείο, ορθογώνιο, ορθογώνιο , επαναφορά, resetpalette, setinfo, setoptions, δομή, κείμενο, πάχος, τρίγωνο, τρισδιάστατο, useink
  • Η συνάρτηση plotfn αναπαριστά ένα ή περισσότερα γραφήματα λειτουργιών σε ένα πραγματικό, προαιρετικά μαζί με τους άξονες που σχεδιάζονται με ένα χρώμα καθορισμένο από το χρήστη. Το εύρος για τον άξονα y μπορεί επίσης να δοθεί, διαφορετικά η Agena καθορίζει την καλύτερη ρύθμιση. Υπάρχουν διάφορες άλλες επιλογές που μπορούν να οριστούν με τη λειτουργία setoptions και οι οποίες θα ισχύουν για όλα τα γραφήματα που παράγονται σε μια συνεδρία: την ανάλυση παραθύρου, τον χρωματικό χάρτη, το πάχος γραμμής και το χρώμα φόντου. Φυσικά, ο χρήστης μπορεί να παρακάμψει μερικές ή όλες τις επιλογές για ένα συγκεκριμένο οικόπεδο. Οι ιδιαιτερότητες αντιμετωπίζονται σωστά.

Τι νέο υπάρχει στην έκδοση 0.30.3:

  • Agena 0.30.3 με ενσωματωμένα γραφικά, αυθαίρετα μαθηματικά ακρίβειας και βελτιωμένα χαρακτηριστικά έχουν κυκλοφορήσει.

Τι νέο υπάρχει στην έκδοση 0.30.2:

  • Η Agena διαθέτει πλέον ενσωματωμένα γραφικά. Αυτό θα σας επιτρέψει να σχεδιάσετε γραφήματα, εικόνες κ.λπ. σε παράθυρα X11 ή Win32 ή σε αρχεία GIF, PNG, JPEG, FIG ή PostScript, τόσο σε Solaris, Linux και Windows. Η Agena συνδέεται με τη γραφική βιβλιοθήκη g2 που γράφει ο Ljubomir Milanovic και ο Horst Wagner, για να προσφέρει αυτές τις νέες δυνατότητες.
  • Το Agena 0.30 περιλαμβάνει όλα τα βασικά εργαλεία για να σχεδιάσετε σημεία, γραμμές, κύκλους, ελλείψεις, ορθογώνια, τόξα. κ.λπ., για τον έλεγχο του μεγέθους της εικόνας και των χρωμάτων.
  • & gt; με το "gdi"
  • πακέτο gdi v0.1.4 από τις 20 Δεκεμβρίου 2009
  • τόξο, arcfilled, φόντο, κύκλο, circlefilled, clearpalette, κλείσιμο, παύλα, ελλειψοειδές, ελλειψοειδές, φλος, γραμματοσειρά, initpalette, μελάνι, lastaccessed, γραμμή, newline, νέο σημείο, ανοικτό, οικόπεδο, plotfn, σημείο, ορθογώνιο, ορθογώνιο , επαναφορά, resetpalette, setinfo, setoptions, δομή, κείμενο, πάχος, τρίγωνο, τρισδιάστατο, useink
  • Η συνάρτηση plotfn αναπαριστά ένα ή περισσότερα γραφήματα λειτουργιών σε ένα πραγματικό, προαιρετικά μαζί με τους άξονες που σχεδιάζονται με ένα χρώμα καθορισμένο από το χρήστη. Το εύρος για τον άξονα y μπορεί επίσης να δοθεί, διαφορετικά η Agena καθορίζει την καλύτερη ρύθμιση. Υπάρχουν διάφορες άλλες επιλογές που μπορούν να οριστούν με τη λειτουργία setoptions και οι οποίες θα ισχύουν για όλα τα γραφήματα που παράγονται σε μια συνεδρία: την ανάλυση παραθύρου, τον χρωματικό χάρτη, το πάχος γραμμής και το χρώμα φόντου. Φυσικά, ο χρήστης μπορεί να παρακάμψει μερικές ή όλες τις επιλογές για ένα συγκεκριμένο οικόπεδο. Οι ιδιαιτερότητες αντιμετωπίζονται σωστά.

Τι νέο υπάρχει στην έκδοση 0.29.0:

  • Η Agena διαθέτει πλέον ενσωματωμένα γραφικά. Αυτό θα σας επιτρέψει να σχεδιάσετε γραφήματα, εικόνες κ.λπ. σε ένα παράθυρο ή σε ένα αρχείο GIF, PNG, JPEG, FIG ή PostScript στα Solaris, Linux και Windows, συμπεριλαμβάνοντας μια δέσμευση στη γραφική βιβλιοθήκη g2 που γράφει ο Ljubomir Milanovic και Horst Wagner.
  • Το Agena 0.29.0 διαθέτει όλα τα βασικά εργαλεία για να σχεδιάσετε σημεία, γραμμές, κύκλους, ελλείψεις, ορθογώνια, τόξα. κ.λπ., για τη διαχείριση του χρώματος και τη δημιουργία αρχείων εικόνας ή ανοιχτών παραθύρων X11 ή Win32.
  • Σε μία από τις επόμενες ενημερώσεις, μια διεπαφή χρήστη υψηλού επιπέδου που διαθέτει τις λειτουργίες gdi.plotfn και gdi.plot σάς δίνει τη δυνατότητα να σχεδιάζετε μονομεταβλητές λειτουργίες και σύνολα σημείων επί τόπου. Οι δύο λειτουργίες περιλαμβάνονται ήδη στην Agena 0.29.0, αλλά είναι ακόμα beta. Εδώ είναι μια προεπισκόπηση:
  • & gt; με το "gdi"
  • πακέτο gdi v0.1.0 από τις 24 Νοεμβρίου 2009
  • τόξο, φόντο, κύκλο, clearpalette, κλείσιμο, παύλα, έλλειψη, γεμάτοArc, πλήρες κύκλος, filledEllipse, filledRectangle,
  • συμπληρωμένοTriangle, flush, γραμματοσειρά, initpalette, μελάνι, lastaccessed, γραμμή, ανοικτό, οικόπεδο, plotfn, σημείο, ορθογώνιο, επαναφορά,
  • Επαναφορά, ρύθμιση, ρύθμιση, δομή, κείμενο, πάχος, τρίγωνο, useink
  • Η συνάρτηση plotfn αναπαράγει το γράφημα μιας συνάρτησης σε μία πραγματική, προαιρετικά μαζί με τους άξονες που σχεδιάστηκαν σε ένα χρώμα καθορισμένο από το χρήστη. Η περιοχή για τον άξονα y μπορεί επίσης να δοθεί, διαφορετικά η Agena προσπαθεί να καθορίσει την καλύτερη ρύθμιση. Υπάρχουν διάφορες άλλες επιλογές που μπορούν να οριστούν με τη λειτουργία setoptions και οι οποίες θα ισχύουν για όλα τα γραφήματα που παράγονται σε μια συνεδρία: την ανάλυση παραθύρου, τον χρωματικό χάρτη, το πάχος γραμμής και το χρώμα φόντου. Φυσικά, ο χρήστης μπορεί να παρακάμψει μερικές ή όλες τις επιλογές για ένα συγκεκριμένο οικόπεδο. Οι ιδιαιτερότητες αντιμετωπίζονται σωστά.
  • plotfn (sin (x) * x> gt ;, -5,5, χρώμα ~ 'μπλε', axiscolour ~ 'γκρι', res ~ 640: 480)

Τι νέο υπάρχει στην έκδοση 0.27.2:

  • Η νέα λειτουργία toSet baselib μετατρέπει μια συμβολοσειρά σε ένα σύνολο χαρακτήρων της και έναν πίνακα ή ακολουθία σε μια σειρά.
  • io.readlines έχει τροποποιηθεί για να επεξεργάζεται γραμμές με περισσότερους από 2048 χαρακτήρες. Η λειτουργία τώρα εκπέμπει επίσης ένα σφάλμα αν αποτύχει η κατανομή εσωτερικής μνήμης. Το εσωτερικό μέγεθος του buffer έχει μειωθεί από 2048 bytes σε 512 byte. Μπορείτε να το αλλάξετε προσθέτοντας μια άλλη τιμή στο AGN_IOREADLINES_MAXLINESIZE στο αρχείο agnconf.h.
  • io.readlines τώρα επίσης δέχεται λαβές αρχείων. Όταν χρησιμοποιείτε λαβές αρχείων, σε αντίθεση με τα ονόματα αρχείων, παρακαλούμε να σημειώσετε ότι πρέπει να κλείσετε το αρχείο με το χέρι αφού χρησιμοποιήσετε io.readlines.

  • Το
  • io.readlines δεν επιστρέφει πλέον ένα κενό πίνακα εάν το αρχείο δεν υπάρχει. Αντιθέτως, εκδίδει ένα σφάλμα.
  • toSeq τώρα επιστρέφει ένα σφάλμα αντί να αποτύχει αν δεν λάβει μια συμβολοσειρά, σετ ή πίνακα.
  • Η συνάρτηση baselib που χρησιμοποιήθηκε έχει επεκταθεί και μπορεί να επιστρέψει τη χρήση μνήμης σε bytes, kbytes και gbytes. Είναι τώρα μια λειτουργία C.
  • Η λειτουργία gcinfo χωρίς χαρτιά έχει διαγραφεί. Η λειτουργικότητά του έχει ληφθεί με χρήση.
  • Η νέα λειτουργία C API agn_usedbytes επιστρέφει τον αριθμό των byte που χρησιμοποιείται από το σύστημα.
  • Διορθώθηκε λάθος μήνυμα σφάλματος του toTable.
  • μετονομάστηκε σε λειτουργία C AOI «agn_isioforcerror» σε «agn_isioforceerror».

Τι νέο υπάρχει στην έκδοση 0.27.0:

  • Προστέθηκε η συνάρτηση σφάλματος math.erf και η συμπληρωματική συνάρτηση σφάλματος math.erfc.
  • Προστέθηκε η λειτουργία Bessel του πρώτου τύπου math.besselj, και η λειτουργία Bessel του δεύτερου είδους math.bessely. Η σειρά δίνεται από το πρώτο επιχείρημα, το επιχείρημα ως το δεύτερο επιχείρημα.
  • Αν η νέα _EnvIoForceError μεταβλητή περιβάλλοντος έχει οριστεί σε μη μηδενική τιμή (η προεπιλογή), οι io.open, io.readlines και οι διάφορες λειτουργίες binio κλείνουν με ένα σφάλμα αντί να επιστρέφουν κανονικά.
  • binio.readbytes και binio.readchar επέστρεψαν μια κενή ακολουθία αντί να αποτύχουν σε περίπτωση που το αρχείο που θα διαβαστεί δεν υπήρχε. Αυτό έχει αλλάξει: αποτύχει ή επιστρέφεται σφάλμα.
  • arcsin και arccos είναι τώρα χειριστές και έτσι περίπου 40% γρηγορότερα.
  • Προστέθηκε ο χειριστής xor, ο οποίος εκτελεί ένα Boolean exclusive-OR σε τιμές που αποτιμούν ή είναι αληθείς, ψευδείς, αποτυχημένες και μηδενικές.
  • Προστέθηκε ο χειριστής atendof, ο οποίος ελέγχει αν μια λέξη τελειώνει σε μια δεδομένη φράση και επιστρέφει τη θέση της ως αριθμός. Ο χειριστής επιστρέφει null εάν οι συμβολοσειρές έχουν το ίδιο μήκος, τουλάχιστον ένας από αυτούς είναι η κενή συμβολοσειρά ή η λέξη δεν τελειώνει στο δεδομένο μοτίβο.
  • hasrtable τώρα επιστρέφει μόνο αληθές, αν έχει έναν πίνακα ανάγνωσης-εγγραφής (ενημερώνεται από τη δήλωση επιστροφής).
  • Η νέα συνάρτηση hasrotable καθορίζει εάν μια συνάρτηση έχει έναν πίνακα ανάγνωσης μόνο για ανάγνωση (ο οποίος δεν μπορεί να ενημερωθεί από τη δήλωση επιστροφής) και επιστρέφει true ή false.
  • Οι νέοι χειριστές gethigh και getlow ανακτούν τα υψηλότερα και τα χαμηλότερα bytes από έναν αριθμό (δηλ. C διπλό).
  • Οι νέοι χειριστές sethigh και setlow ορίζουν τα υψηλότερα και τα χαμηλότερα bytes σε έναν αριθμό (δηλ. C διπλό).
  • Η νέα ζώνη φορέων, bor, bxor και bnot δεν διεξάγει bitwise και / ή, αποκλειστικές ή συμπληρωματικές λειτουργίες σε αριθμούς.
  • Η νέα λειτουργία `kernel 'ρυθμίζει τις ρυθμίσεις του πυρήνα Agena. Επί του παρόντος, μπορεί να αλλάξει τον τρόπο λειτουργίας των εσωτερικών λειτουργιών των δυαδικών ψηφίων (χρήση υπογεγραμμένων ή μη υπογεγραμμένων ακέραιων αριθμών) και τον τρόπο εκτύπωσης των αριθμών.
  • Με τους πραγματικούς αριθμούς x, το math.argument επιστρέφει τώρα το Pi αντί του 0 αν x < 0.
  • Λόγω ενός σφάλματος στις λειτουργίες της βιβλιοθήκης ANSI C, τα arcsin και τα arccos παρήγαγαν λάθος αποτελέσματα με πολύπλοκες αριθμούς αν το φανταστικό τους μέρος ήταν μηδενικό στα συστήματα UNIX. Αυτό έχει καθοριστεί.
  • math.isPrime αναφέρθηκε ψευδώς με τον αριθμό 2. Αυτό διορθώθηκε.
  • Σε αντίθεση με το εγχειρίδιο, το ABS επέστρεψε 2 με αποτυχία. Τώρα επιστρέφει το -1 ως τεκμηριωμένο.
  • Το πακέτο των δυαδικών ψηφίων έχει αφαιρεθεί.
  • Προστέθηκε η νέα λειτουργία C API agn_isioforcerror, η οποία ελέγχει εάν το _EnvIoForceError έχει οριστεί σε μη μηδενική τιμή.
  • Η νέα συνάρτηση C API agn_setbitwise καθορίζει αν οι ζώνες χειριστών, bor, bnot, bxor και shift μεταβάλλονται εσωτερικά με υπογεγραμμένους ή μη υπογεγραμμένους ακέραιους.
  • Η νέα λειτουργία C API agn_getbitwise επιστρέφει τη λειτουργία που έχει οριστεί από το agn_setbitwise.
  • Η νέα λειτουργία C API agn_setdigits ορίζει τον αριθμό των ψηφίων που χρησιμοποιούνται για την εκτύπωση αριθμών.
  • Η νέα λειτουργία C API agn_getdigits καθορίζει τον αριθμό των ψηφίων που χρησιμοποιούνται για την εκτύπωση αριθμών.
  • Εσωτερικό: Έγινε κατάργηση καταχώρησης "REPL" από luaP_opnames.
  • Το πρόγραμμα εγκατάστασης των Windows έχει βελτιωθεί από τη στιγμή που ελέγχει για μια προηγουμένως εγκατεστημένη έκδοση του Agena, εμποδίζοντας την εκκίνηση του προγράμματος εγκατάστασης εάν έχει ήδη εκκινηθεί κάποια άλλη παράμετρος και με κάποιες άλλες μικρές βελτιώσεις.

Απαιτήσεις :

  • Ncurses
  • GNU Readline

Παρόμοια λογισμικά

SlimIt
SlimIt

14 Apr 15

Pyrex
Pyrex

3 Jun 15

GCC MELT
GCC MELT

17 Feb 15

Craft
Craft

20 Feb 15

Σχόλια για Agena

Τα σχόλια δεν βρέθηκε
προσθήκη σχολίου
Ενεργοποιήστε τις εικόνες!
Αναζήτηση ανά κατηγορία