Agena היא שפת קוד פתוח, חופשית, רב פלטפורמת וקל ללמוד שפת תכנות פרוצדורלית המיועדת לשימוש יומיומי. ניתן להשתמש בו בסביבות גרפיות, מדעיות, לשוניות וחינוכיות, כמו גם ביישומי Scripting, התומכים בכל מערכות ההפעלה המיינסטרים.
מציע מתקנים רבים לבקרת זרימה
היישום מציע מתקנים רבים לבקרת זרימה, כגון אם, אם כן. אליף, אחר התנאים, מקרה של אחר תנאים, הוא מפעיל, מספרית, מ, ל, ו על ידי לולאות, בשילוב מספרי עבור ולולאות, עבור ו ב לולאות, בעוד ו / כפי לולאות, הצהרה לדלג, הפסקה הצהרה, וכן אימות סוג נתונים.
מספק הקצאות ספירה
בין תכונות אחרות, אנו יכולים להזכיר ספריה מתמטית דיוק שרירותי, תצורה קלה של הסביבה האישית שלך, קל לשימוש החבילה המערכת, הקצאות הקצאה, היקף שליטה באמצעות epocs / היקף מילות מפתח, ועוד רבים תכונות אטרקטיביות.
מתחת למכסה המנוע והזמינות
מבט מהיר מתחת למכסה המנוע יראה לנו שהפרויקט נכתב בשפת התכנות C, BASIC, Lua ו- ALGOL 68, מה שאומר שהתחביר שלה דומה לתחביר של הפרויקטים. הוא פועל לחלוטין במסוף / סביבת מסוף, כלומר, אין בו ממשק משתמש גרפי (GUI).
ספינות עם עורך פשוט
למרות התוכנה Agena הוא יישום שורת פקודה, היא ספינות עם תוכנת עורך גרפי פשוט, שנקרא AgenaEdit, אשר תכונה סביבה משולבת Agena ויכולות הדגשת תחביר. זה בהשראת בכבדות על ידי עורך דומה שפותח על ידי ביל Spitzak עבור פלטפורמה חוצה פלטפורמה C + GUI GUI.
עובד על פי פטל
היכולות הגרפיות של Agena נתמכות על מערכות ההפעלה של גנו / לינוקס, סולאריס, Mac OS X, Microsoft Windows, eComStation - OS / 2 ו- DOS. ניתן לפרוס אותו בקלות הן בפלטפורמות חומרה של 64 סיביות והן ב- 32 סיביות, ונבדק בהצלחה על לוח המחשבים המבוסס על ARM המבוסס על ARM.
מה חדש ב- מהדורה זו:
- פונקציית המחשוב והסטטיסטיקה החדשה
מה חדש בגרסה:
- פונקציית המחשבון והסטטיסטיקה החדשה
- פונקציה חדשה של Calculus and Statistics
- פונקציה חדשה של חשבון וסטטיסטיקה
- פונקציה חדשה של חשבון וסטטיסטיקה
- `stats.chauvenet` יכול כעת לבדוק באופן ספציפי נמוך יותר או עליון על-ידי מעבר האפשרות 'outlier =' low`` או 'outlier =' עליון`, בהתאמה.
- `bags.remove` גרמה לשגיאות פילוח. זה תוקן. יתר על כן, כל הפונקציות `שקיות 'מיושם C השתנו פנימי.
- המטא-מתודות (לא מתועדות) עבור `+`, `-` ו-` * `לא פעלו אם החבילה` שקיות` לא הוזנה עם הפונקציה `with` או עם הייבוא 'ייבוא / כינוי'. זה תוקן.
- `stats.chauvenet` יכול כעת לבדוק במיוחד עבור חריגים נמוכים או עליונים על-ידי העברת האפשרות 'outlier =' lower 'או' outlier = 'עליון`, בהתאמה.
- `bags.remove` גרמה לשגיאות פילוח. זה תוקן. יתר על כן, כל הפונקציות `שקיות 'מיושם C השתנו פנימי.
- המטא-מתודות (לא מתועדות) עבור `+`, `-` ו-` * `לא פעלו אם החבילה` שקיות` לא הוזנה עם הפונקציה `with` או עם הייבוא 'ייבוא / כינוי'. זה תוקן.
- `stats.chauvenet` יכול כעת לבדוק באופן ספציפי נמוך יותר או עליון על-ידי מעבר האפשרות 'outlier =' low`` או 'outlier =' עליון`, בהתאמה.
- `bags.remove` גרמה לשגיאות פילוח. זה תוקן. יתר על כן, כל הפונקציות `שקיות 'מיושם C השתנו פנימי.
- המטא-מתודות (לא מתועדות) עבור `+`, `-` ו-` * `לא פעלו אם החבילה` שקיות` לא הוזנה עם הפונקציה `with` או עם הייבוא 'ייבוא / כינוי'. זה תוקן.
- `stats.chauvenet` יכול כעת לבדוק במיוחד עבור חריגים נמוכים או עליונים על-ידי העברת האפשרות 'outlier =' lower`` או` outlier = 'עליון`, בהתאמה.
- `bags.remove` גרמה לשגיאות פילוח. זה תוקן. יתר על כן, כל הפונקציות `שקיות 'מיושם C השתנו פנימי.
- המטא-מתודות (לא מתועדות) עבור `+`, `-` ו-` * `לא פעלו אם החבילה` שקיות` לא הוזנה עם הפונקציה `with` או עם הייבוא 'ייבוא / כינוי'. זה תוקן.
- מספרי 'for `loops תומכים כעת במילת המפתח' downto ', כך שתוכל לספור למטה מבלי להשתמש בגודל שלילי` שלילי`. בהקשר 'downto', גודל ה'גודל 'צריך תמיד להיות חיובי. מ 'התחל' ו 'להפסיק' ערכים הם חובה בעת שימוש במילה 'downto'.
- המטא-שיטות '__finite', '__entier' ו- '__sqrt' אינן נתמכות עוד. במקום זאת, נוספו שלושה מטאודים חדשים לפעולות על מבנים: 'union' עבור פעולות האיגוד, '___Interect' כדי לקבוע צמתים, ו '__minus' להבדלים. לכן, חבילת "שקיות" עכשיו תומך גם אלה שלוש פעולות.
- מפעיל חטיבת המספרים השלמים לא תמך במטאמטוד שלו והשתמש ב - 1 עבור מפעיל divison ("/ div") במקום. זה תוקן.
- הפונקציה החדשה `stats.gini` קובעת את מקדם ג'יני, מדד של שוויון (in).
- הפונקציה החדשה `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 שאינו רקורסיבי שמציעה ניקלאוס וירט עם האפשרות' nrquicksort 'החדשה.
- הפונקציה החדשה `stats.meanmed` מחזירה הן את הממוצע האריתמטי והן את החציון של התפלגות, או לחילופין את הממוצע של הממוצע והחציון, המאיצים את זמני החישוב כאשר ערכים אלה נדרשים בכ -20 אחוזים.
- שיפור הודעת השגיאה של האופרטור `size`.
- פונקציות חדשות ותיקונים חדשים:
- 'נסה / תפוס': מפרט מפורש של משתנה שגיאה מיד לאחר שהאפשרות 'לתפוס' היא אופציונלית. אם לא מוצג משתנה שגיאה, הודעת השגיאה מאוחסנת באופן אוטומטי במשתנה lasterror המקומי, ולאחר מכן יש להשאיר את מילת המפתח `אז`:
- & gt; נסה
- & gt; ('אופס!')
- & gt; לתפוס
- & gt; (lasterror)
- & gt; yrt;
- אופס!
- ההצהרה 'לנסות / תפוס' לפעמים לא פעלה בהליכים (משתנה שגיאה לא מוקצה). זה תוקן.
- הפונקציה החדשה `net.wget` מורידה דפי HTML מהאינטרנט.
- מכוונן `skycrane.counter` ב -10%. הפונקציה עכשיו בוחרת את Kahan-Ozawa במקום את אלגוריתם הסיכום המקורי של קהאן, אם הטענה השלישית היא מחרוזת 'ozawa'. המקורות המקבילים C השתנו כדי למנוע אופטימיזציה של המהדר, אשר יכול לבטל את האופטימיזציה, גם כן.
- `argerror` מדפיס כעת את שם הסוג המוגדר על-ידי המשתמש של ערך שהתקבל בהודעת השגיאה שלו. אם לערך אין סוג מוגדר על ידי המשתמש, סוג הטיפוס הבסיסי שלו מונפק.
- האפשרות 'a' החדשה ל- 'debug.getinfo' מחזירה את מספר הארגומנטים הצפויים בהליך, הודות ל- Rob Hoelz 'LuaPowerPatch.
- הודעת שגיאה משופרת של 'אינדקס מחוץ לטווח' עבור מחרוזות.
- שינו את הקבצים `stats.agn`,` linalg.agn`, `library.agn` ו-` ansi.agn` ביחס לטיפול השגיאה שלהם.
- עבור סוג חדש של טיפול בשגיאות, הופיעה ההודעה 'נסה / תפוס' חדשה. זה כבר המציא נכתב על ידי הו Qiwei עבור Lua 5.1 בחזרה בשנת 2008.
- באופן כללי, כל אמירה שבה ניתן לצפות לחריג ניתן להכניס לסעיף 'נסה'. אם מוצגת שגיאה, שנוצרת על ידי קריאה מפורשת לפונקציה 'שגיאה' או לכל ביטוי, פונקציה או משפט אחרים, שולטת מיד בקטע `תפס` המקביל אם קיים או עד הסוף של 'try / yrt `הצהרה אם לא נמסרה סעיף` תופס`, תוך התעלמות מכל אמירה אחרת בסעיף 'לנסות'.
- מתקני ההתמודדות של השגיאה / lasterror` עדיין נמצאים ותמיד יהיו נתמכים. הצהרת הבקרה החדשה פועלת גם עם ההמלצות 'break`, `skip`,` redo` ו- `Return` ללא רבב.
- ההצהרה 'redo' החדשה מפעילה מחדש את האיטרציה הנוכחית של לולאת 'ל /' ו 'עבור /' מלכתחילה.
- האופרטור `recip` החדש מחזיר את ההופכי של מספר x. זה שווה את הביטוי 1 / x, אבל מהר יותר.
- הפונקציה החדשה `stats.ema` מחשבת את הממוצע הנע מעריכי של התפלגות. הפונקציה החדשה `stats.gema` מחזירה פונקציית iterator המחזירה את הממוצע הנע מעריכי בהתאמה של הפצה.
- `%`, `+%` ו- ``% `חזרו` לא מוגדר` במקום תוצאה נכונה אם המפעיל הימני שלהם היה אפס. זה תוקן.
- תוקנה הודעת שגיאה ב- 'net.survey`.
- הודעות שגיאה משופרת עבור יצירת אינדקס מחוץ לזו של זוגות ומחרוזות.
- בגרסאות ANSI, Solaris ו- DOS, המפעיל `int` כבר מכוון.
- הפונקציה החדשה C API `agn_arraytoseq` ממירה מערך מספרי לרצף ודוחפת את הרצף החדש על גבי הערימה.
- עודכן במדריך.
- ההצהרה 'redo' החדשה מפעילה מחדש את האיטרציה הנוכחית של לולאת 'אל' ו'ל / ב 'מלכתחילה. דוגמה:
- & gt; flag you tim & gt; J ב [10, 11, 12] לעשות & gt; הדפס ('לפני', j, דגל); & gt; אם דגל ו- j = 11 ולאחר מכן & gt; דגל ברור; & gt; הדפס ('- & gt;', j, flag, 'Jump back') & gt; בצע שוב & gt; An University & gt; הדפס ('אחרי', j, דגל) & gt; עד J & gt; 12; לפני 10 אמת לאחר 10 נכון לפני 11 אמת - & gt; 11 קפיצה שקרית לפני 11 שקר לאחר 11 שקר לפני 12 שקר לאחר 12 שקר
- האופרטור `recip` החדש מחזיר את ההופכי של מספר x. זה שווה את הביטוי 1 / x, אבל מהר יותר.
- הפונקציה החדשה `stats.ema` מחשבת את הממוצע הנע מעריכי של חלוקה. הפונקציה החדשה `stats.gema` מחזירה פונקציית iterator המחזירה את הממוצע הנע מעריכי בהתאמה של הפצה. עבור השימוש בו, בבקשה להעיף מבט לתוך קובץ המקור src / stats.c, C פונקציות * ema.
- `%`, `+%` ו- ``% `חזרו` לא מוגדר` במקום תוצאה נכונה אם המפעיל הימני שלהם היה אפס. זה תוקן.
- תוקנה הודעת שגיאה ב- 'net.survey`.
- הפונקציה החדשה C API `agn_arraytoseq` ממירה מערך מספרי לרצף ודוחפת את הרצף החדש על גבי הערימה.
- הצהרות ופונקציות חדשות:
- Agena 2.0 תואם כלפי מטה ל- Agena 1.12, למעט העובדה ש'ייבוא 'של' אסימונים ',' כינוי ',' עד 'ו'כניסה' הם כעת מילות מפתח ולא ניתן עוד להשתמש בהם כמשתנים. נכון לעכשיו, יש סולאריס, דביאן (x86, PowerPC, Raspberry Pi), Windows, Mac, ו DOS מתקינים זמין עבור 2.0, כולל פריימר מעודכן הפניה שמסביר את כל התכונות החדשות בפירוט.
- וריאציות הלולאה החדשות `for / as` ו- `עד` לבדוק מצב בסוף האיטרציה הנוכחית או להתחיל את האיטרציה הבאה או לעזוב את הלולאה. זה עובד עם 'ל / אל', כמו גם 'ל' ב לולאות. למעשה, שני הווריאנטים מבצעים לולאה לפחות פעם אחת עד שהמצב הנתון נבדק.
- דוגמאות:
- & gt; עבור ל 5 לעשות
- & gt; הדפס (i)
- & gt; כפי שאני & lt; 3
- & gt; אני ב [1, 2, 3, 4, 5] לעשות
- & gt; הדפס (i)
- & gt; עד i & gt; = 3
- הלולאה החדשה 'עושה / עד' חוזרת עד שמתקיים תנאי מסוים:
- & gt; c: = 0;
- & gt; לעשות
- & gt; inc c;
- & gt; - (ג)
- & gt; עד c & gt; = 3
- בלולאות מספריות `` ל```, לא ניתן לתת עוד את הסעיף `אל`. במקום זאת, כאשר אתה משאיר את הסעיף 'אל', הלולאה חוזרת עד שהגיע המספר הגדול ביותר שניתן לייצג על הפלטפורמה שלך, ב- C HUGE_VAL,
- & gt; עבור אני
- & gt; הדפס (i)
- & gt; od
- הסעיף החדש של "הצלחה" בפרשת `אם` ו-` case` מבצע גוש אם מתקיים לפחות אחד מהתנאים. דוגמאות:
- & gt; flag: = false;
- & gt; אם 1 = 0 ולאחר מכן
- & gt; (0)
- & gt; אליף 1 = 1 ולאחר מכן
- & gt; הדפס (1)
- & gt;
- & gt; דגל: = true
- & gt; אחר
- & gt; הדפס (-1)
- & gt; fi;
- & gt; הדפס (דגל);
- נכון
- & gt; flag: = false;
- & gt; אם 1 = 0 ולאחר מכן
- & gt; (0)
- & gt; אליף 1 = 0 ולאחר מכן
- & gt; הדפס (1)
- & gt;
- & gt; דגל: = true
- & gt; אחר
- & gt; הדפס (-1)
- & gt; fi;
- & gt; הדפס (דגל);
- false
- & gt; flag: = false;
- & gt; a: = 2;
- & gt; במקרה a
- & gt; של 1 ולאחר מכן
- & gt; הדפס (1)
- & gt; של 2 אז
- & gt; - (2)
- & gt;
- & gt; דגל: = true
- & gt; אחר
- & gt; הדפס (-1)
- & gt; esac;
- & gt; הדפס (דגל);
- נכון
- ההצהרה החדשה 'import' מאפשרת לייבא ספריה אחת או יותר מבלי לשים את שמם במרכאות, למשל. "import calc, stats" שווה ערך ל- "readlib ('calc', 'stats').
- האפשרות 'כינוי' להצהרת 'import' מקצה שם קצר אחד או יותר לפונקציות הספרייה שמוכנות, לדוגמה. "לייבא את הכינוי הקלאסי xpdiff" שווה ערך ל "עם (" calc "," xpdiff ")" ו "כינוי ייבוא קאל" שווה ל "with (" calc ").
- האופרטור החדש `..` מאפשר להציג טבלאות גם אם המפרק בצד שמאל שלו מעריך 'null'. במקרה זה, 'null' מוחזר ולא נעשה ניסיון 'לשדה אינדקס ... (ערך ריק)'. זה דומה לפונקציה `getentry` אבל הוא שלוש פעמים מהר יותר. דוגמאות:
- & gt; ליצור טבלה;
- & gt; a.b:
- null
- & gt; a.b.c:
- שגיאה ב- stdin, בשורה 1:
- ניסיון לשדה האינדקס `b` (ערך ריק)
- & gt; a..b..c:
- null
- & gt; ליצור טבלה;
- & gt; [1]:
- null
- & gt; [1] [2]:
- שגיאה ב- stdin, בשורה 1:
- מנסה לשדה האינדקס `?` (ערך ריק)
- & gt; א .. [1] .. [2]:
- null
- הפונקציה החדשה `skycrane.todate` מחזירה את התאריך והשעה הנוכחיים כמחרוזת מעוצבת.
- הפונקציה החדשה `io.truncate` חותכת קובץ במיקום הקובץ הנוכחי.
- הפונקציה החדשה `io.move` משנה את מיקום הקובץ למספר נתון של תווים שמאלה או ימינה.
- הפונקציה החדשה `io.filesize` מחזירה את הגודל של קובץ.
- `readlib` מקבל כעת מחרוזות כארגומנטים, בלבד. מספרים אינם מורשים עוד.
- אם הארגומנט האחרון ל- `with` הוא 'בוליאני' בוליאני, אזי הפונקציה לא כותבת שמות קצרים שהוקצו לקונסולה (stdout).
- `strings.fields` מקבל כעת גם רצף של מספרי אינדקס. עם זאת, הוא אינו מקבל את האינדקס `0` יותר.
- מתקין ה- Raspberry Pi Wheezy Debian כולל כעת את חבילת הגרפיקה ® gdi.
- הקובץ 'change.log' מוצג כעת כראוי ב- Windows.
- וריאציות הלולאה החדשות `for / as` ו- `עד` לבדוק מצב בסוף האיטרציה הנוכחית או להתחיל את האיטרציה הבאה או לעזוב את הלולאה. זה עובד גם עבור / אל, כמו גם עבור / ב לולאות.
- וריאציות הלולאה החדשות `for / as` ו- `עד` לבדוק מצב בסוף האיטרציה הנוכחית, או להתחיל את האיטרציה הבאה או להשאיר לולאה. זה עובד גם עבור / אל, כמו גם עבור / ב לולאות.
- ההצהרה החדשה 'import' מאפשרת לייבא ספריה אחת או יותר מבלי לשים את שמם במרכאות, למשל. "import calc, stats" שווה ערך ל- "readlib ('calc', 'stats').
- האפשרות 'כינוי' להצהרת 'import' מקצה שם קצר אחד או יותר לפונקציות הספרייה שמוכנות, לדוגמה. "לייבא את הכינוי הקלאסי xpdiff" שווה ערך ל "עם (" calc "," xpdiff ")" ו "כינוי ייבוא קאל" שווה ל "with (" calc ").
- האופרטור החדש `..` מאפשר להציג טבלאות גם אם המפרק בצד שמאל שלו מעריך 'null'. במקרה זה, 'null' מוחזר ולא נעשה ניסיון 'לשדה אינדקס ... (ערך ריק)'. זה דומה לפונקציה `getentry` אבל הוא מהיר פי שלושה.
- הפונקציות החדשות 'io.getclip` ו- `io.putclip` חילופי טקסטים בין Agena ללוח (Windows בלבד).
- `stats.prange` נכתבה מחדש ב- C והגיעה לשיעור של עד 60% מהר יותר.
- `os.cpuinfo` מחזירה כעת מידע נכון ומידע נוסף על מערכות מבוססות ARM.
- במערכות DOS ו- UNIX, כולל Mac OS X ורק בתחום המורכב, exponentiation של הבסיס 0 למעריך 0 + r * I, עם r כל צף שאינו אפס, הוחזר `לא מוגדר` במקום 0. זה תוקן.
- במערכות DOS ו- UNIX כולל Mac OS X ורק בתחום המורכב, exponentiation של הבסיס 0 אל המעריך r + 0 *, עם r כל צף חיובי, הוחזר `לא מוגדר` במקום 0. זה כולל תוקן.
- 'stats.obcount` ו- `stats.obpart` לא יכלו לכלול ערכים בתת-הערכים הנכונים ביותר. זה תוקן.
- שגיאות פוטנציאליות לביטול הזיכרון הוסרו מ- `calc.neville`,` calc.interp`, `calc.newtoncoeffs`,` calc.naksplinecoeff``, `calc.plampoeff``,` calc.nakspline`, ו 'calc.clampedspline`.
- הפונקציה החדשה C API `agn_checkinteger` בודקת אם הארגומנט הוא מספר ומספר שלם ו - בניגוד ל-` luaL_checkinteger` - מטעה שגיאה אחרת.
- הפונקציה החדשה `חלופית` מחזירה את הטענה הראשונה שלה אם הטענה השנייה שלה היא` null`. אחרת היא מחזירה את הארגומנט השני שלה.
- המעבר -b להפעלה של Agena הוסר מאחר והפלט שלו היה זהה לאפשרות -v.
- גירסאות Windows ו- UNIX / Mac של `strings.utf8size` הכילו דליפת זיכרון פוטנציאלית; זה השתנה.
- כל קבצי ה- DLL / SO של הספריות פלוס כבר לא מכילים קוד לא בשימוש, מורידים את הגדלים שלהם עד 10 אחוזים, בהתאם למערכת ההפעלה. ה- makefile והמקורות שיובאו בעבר קבצי כותרת שאינם בשימוש השתנו. לדוגמה, זה בכלל מקטין את הגודל של הקבצים הבינאריים של Windows על ידי 55 kBytes.
- הרחב את חבילת הבדיקה.
- עודכן קבצי הסכימה.
- פונקציות ותכונות חדשות:
- הפונקציה `checktype` החדשה קובעת אם כל הערכים במבנה הם מסוג מסוים.
- הפונקציה החדשה `isint` בודקת אם כל הארגומנטים שלה הם מספרים שלמים.
- הפונקציה החדשה `strings.dleven` מחזירה את המרחק בין Damerau-Levenshtein לשני מחרוזות.
- הפונקציה החדשה `stats.ad` קובעת את החריגה המוחלטת של כל הערכים במבנה.
- הפונקציה החדשה `stats.countentries` מונה את מספר המופעים של כל האלמנטים במבנה.
- הפונקציה החדשה `stats.deltalist` מחזירה מבנה של deltas של האלמנטים השכנים בהתאמה.
- הפונקציה החדשה `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`s``,` stats.median`,
- `stats.var` חוזר כעת נכשל.
- האורך המרבי עבור שורת קלט במתורגמן העצמאי השתנה מ -512 ל -2048 תווים.
- משתנה הסביבה החדש `environ.maxpathlength` מאחסן את מספר התווים המרבי עבור נתיב קובץ (לא כולל תו C).
- משתני הסביבה החדשים `environ.minnumber` ו-` environ.maxnumber` מחזיקים בערך המינימלי והמקסימלי שניתן לאחסן מספר אג'נה (כרגע ANSI-C).
- המשתנה הסביבתי החדש `environ.umaxlong` כולל את הערך האינטגרלי המקסימלי של סוג C לא חתום זמן רב על מערכות 32 סיביות, ולא חתום זמן רב על מכונות 16bit.
- C API:
- 100% תאימות של Agena C API ל- C של API של Lua כבר הוקם מחדש על ידי הצגת פונקציות של Lua * dump. כך אתה יכול כעת לאחסן פונקציות ביצוג בינארי, למשל. באמצעות `strings.dump` או lua_dump ברמה C.
- הציג את הפונקציה החדשה `agnL_optboolean` כדי לבדוק טיעונים בוליאניים אופציונליים ולהחזיר אותם במקרה של הצלחה.
- תיקוני באגים:
- 'environ.globals' תמיד צא עם שגיאה, זה תוקן.
- `להניח` החזיר שקר עם שני הטיעונים שלו להיות או להעריך ל 'לא מוגדר'. עכשיו זה חוזר אמיתי במקרה זה.
- אגנה התרסקה כשעברה ליד שולחן ריק ומרווח כדי 'להצטרף' - זה תוקן.
- האפשרות `colour` כבר לא מתעלמת מ` gdi.plot`.
- בטבלאות, 'stats.minmax` החזיר ערך שגוי עבור המינימום. עכשיו זה עובד כראוי.
- עם טבלה ריקה, 'stats.median` החזיר 0, כעת הוא חוזר נכשל.
- בניגוד לתיעוד, 'strings.isending` החזיר' true 'כאשר שתי המיתרים שוות. זה תוקן.
- 'run `החזיר` לא יכול לפתוח את הקובץ `אם סקריפט קיים של Agena כלל שגיאת תחביר. זה כבר קבוע לחלוטין לשכתב את הפונקציה.
- נוסף Lua 5.1.4 תיקון 9: "יצירת קוד שגוי עבור ביטויים בוליאניים מסוימים [למשל מורכבים]."
- נוסף Lua 5.1.4 תיקון 11: "Parser עשוי לאסוף אב טיפוס תוך כדי בנייתו."
- * מידע: הוספת Lua 5.1.4 תיקון 10, "[__write / __ חדש] metamethod מדד לא יכול לעבוד אם metatable הוא metatable משלו", כדי Agena אינו הכרחי, עבור Agena כבר עובד כראוי במקרה זה.
- הסרת מילת המפתח שאינה בשימוש `default`.
- התקשות מסוימות של פונקציות ותכונות.
- שיפורים:
- נוסף גירסת _experimental_ של 'io.anykey` לגרסת Mac. עם זאת, לפחות על אריה, את המפתח להיות לחוץ לפעמים הוא מהדהד על הקליפה.
- `utilcs.cscs` יכול כעת להחזיר את כל הערכים בקובץ CSV ברצף שטוח.
- חבילת 'השעון' תומכת כעת במפעיל החלוקה `/` על-ידי הוספתו למפעיל ה- tm` שלו.
- ההתנהגות של `with` השתנתה כיוון שלא ניתן להקצות שמות קצרים עבור פונקציות ספריות רבות: אם הטבלאות הוכנסו לטבלה .aux, אל תקצה שמות קצרים עבור שמות פונקציות אלה; אחרת להקצות שמות קצרים עבור _all_ פונקציות חבילה אחרים. לכן: `package.register` כדי לרשום את כל פונקציות הספריה עבור` עם `כדי להקצות שמות קצרים, הוא כבר לא נחוץ. הוא יוסר משימוש באחד מהמהדורות הבאות.
- שיפור חבילת הבדיקה.
- ידני:
- שיפור המדריך והמדד.
- עקביות:
- עבור כל השינויים הבאים, שמות המשתנים הישנים הבאים עדיין נתמכים.
- `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.gdidfaultoptions'.
- ב- Windows, 'os.login` ו- `os.computername` חוזרים כעת' נכשלים 'כמו גרסאות UNIX או OS / 2.
- המתג '`-DCOMPAT13` הוסר לבסוף לצורך יצירת גרסת תלונה של Agena 1.3.x.
- אחר:
- 'calc.fseq` מושמט נמחק. בבקשה השתמש ב- nseq במקום.
- מחרוזת `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`.
- ניתן להזין טבלאות עם הסימון T, כאשר הוא מספר שלם, ו- T הוא התו `T`. כמו כן, g מציין מיליארדים, t טריליונים. עיין בעמוד 48 של המדריך לקבלת מידע נוסף.
- עודכן במדריך.
- רוב מתגי ההתאמה לאחור בקוד המקור C הוסרו מסיבות ניקוי קוד. דבר זה משפיע רק על אלה המנסים להרכיב מחדש את Agena 1.5 ומעלה עם תאימות לאחור מלאה ל- Agena 1.3 ו- 1.4, ועם רוב תאימות לאחור ל- Lua 5.0 (למעט הטיפול הישן של Lua 5.0 בספרייה).
- `map` יכול כעת גם לעבד מחרוזות שניתנות כארגומנט השני שלו. הפונקציה המתאימה והארגומנטים שלה מיושמים ברצף על כל תו משמאל לימין, והתוצאה מוחזרת ברצף.
- `run`: אם אתה רוצה לטעון ולבצע קוד מקבצים עם סיומת 'agn', אין צורך לציין את הסיומת בארגומנט עוד. אז 'לרוץ' מבחן 'ו' לרוץ 'test.agn'` הם עכשיו אותו.
- מילת המפתח 's' חייבת כעת להגדיר נהלים. (עם GCC, השתמש במתג -DCOMPAT14 כדי לקמפל גרסה של Agena כאשר מילת המפתח `s` עדיין אופציונלית.)
- ההצהרה 'try` הופסקה והיא אינה נתמכת עוד. (עם GCC, השתמש במתג -DCOMPAT14 כדי לקמפל גרסה של Agena שעדיין כוללת את ההצהרה הזו.)
- ה"פונקציות "הבאות הוסרו:` arraysize`, `getarray`,` getwholearray`, `newarray`,` searcharray `,` starray`. עבור תאימות לאחור, הם נוספו לקובץ lib / compat.agn. (עם GCC, השתמש במתג -DCOMPAT14 כדי לקמפל גרסה של Agena שעדיין תומכת בפונקציות utils המקוריות).
- `util singlesubs` נכתב מחדש לחלוטין. עכשיו זה מצפה רצף של מספרים כמו הארגומנט השני במקום מבנה userarata לשעבר stringarray. זה 35% לאט יותר מאשר הגירסה הקודמת, אבל הסרת מבנה stringarray היה חשוב יותר.
- `strings.include` התרסק אם נקרא עם 0 כארגומנט השני. זה תוקן.
- מיושם של מייקל ג 'שוורן 10 מאי 2011 תיקון שלו `32-bit-2038-Fix` שנה תאריך עזר פונקציות בשימוש על ידי` os `ו` xbase `חבילות (` לעשות mktime64) לתקן את הנכנס tm מובנה כמו ISO C דורש. `)
- אופטימיזציה לאופטימיזציה פנימית: חלק מהאתחול של ספריות והטעינה של קבצים C פונקציות השתמשו בערימה כדי לבנות מחרוזות נתיב ושם קובץ. הפונקציה החדשה C `a קונקט` נכתב על ידי Solar Designer משמש כעת במקום במקרים רבים.
- ה- API של Agena C תואם כעת ל- 100% של ממשק API של 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_optinter.
- שמות המאקרו הבאים השתנו: luaL_checkint - & gt; agnL_checkint, luaL_optint - & gt; agnL_optint.
- בניגוד ליישום לשעבר של Agena, lua_tonumber חוזר כעת 0 כמו ב- Lua במקרה שמספר לא עבר, במקום לחזור HUGE_VAL.
- lua_setglobal2 הוסר. במקום להשתמש lua_pushvalue ו lua_setglobal במקום.
- אם רשימת הפרמטרים של הפרוצדורה שהוגדרה על ידי המשתמש הוגדרה,
- שיחות לפרוצדורות לא הוצאו שגיאות והפרוצדורה בוצעה במקום זאת, במקרים הבאים:
- a) טבלה, קבוצה, רצף, זוג או הליך - מבלי להיות מוגדר על ידי המשתמש
- type - עבר,
- b) לא הועבר כלל ערך עבור הפרמטר הנוגע.
- לא ניתן להקצות שמות קצרים ל- `stats.quartiles` ו-` stats.mode` באמצעות הפונקציה `with`. זה תוקן.
- באופן שגוי, 'with` לא יכול להקצות שם קצר עבור' gdi.settriangle`. זה השתנה.
- הטיפול ב- `calc.polygen` השתפר.
- הודעת שגיאה משופרת של 'fractals.draw` על חסרים קבצי מפה של FRACTINT.
- הפונקציה 'strings.rseek' שהוסרה. עבור תאימות לאחור, 'strings.seek' נוסף לקובץ lib / compat.agn.
- הוספת המתג -d להדפסת מידע באגים במהלך האתחול של המתורגמן.
- גירסת Windows של Agena יש כעת הידור עם GCC 4.5.2.
- קובצי ערכות שפה מעודכנים.
- המדריך עודכן.
- שינויים סמנטיים:
- משתני שליטה בלולאה של לולאות מספריות 'ל / אל' הן כעת מקומיות באופן אוטומטי לבלוקים הסובבים במקום את גופי הלולאה הפנימיים שלהם. אם משתנה מקומי עם שם זהה למשתנה בקרת לולאה הוכרז והוקצה לפני
- מבצע לולאה מספרת, הוא מוחלף על-ידי ערך האיטרציה האחרון של הלולאה. ככזה, מתג 'חיצוני' בלולאות לולייניות `` for `אינו מתקבל עוד. (באמצעות GCC, השתמש במתג -DCOMPAT13 כדי לקמפל גרסה של Agena שעדיין מזהה אך מתעלם ממילת המפתח 'חיצוני').
- כאשר `` נכשל``, `לא` חזר` true`, אבל עם `נכשל` שהוקצה למשתנה,` לא` חזר כוזב. זה השתנה, כלומר: 'א = להיכשל; לא (א) 'מחזירה' true`.
- `stats.median` מחזירה כעת` fail` במקום 0 אם המבנה הנתון ריק.
- לפונקציה יש גם שתי אפשרויות חדשות: 'header' המסמן את השורה הראשונה בקובץ, ו- `output` המאפשר לאחסן את תוכן הקובץ במילון עם שמות השדות שלו שהוגדרו על-ידי כותרת הקובץ. / li>
- הסימון '$ `מחרוזת משנה אינו נתמך עוד. (עם GCC, השתמש במתג DCOMPAT13 כדי לקמפל גרסה של Agena שעדיין תומכת במפעיל `$`.)
- תוספים:
- נוספו לולאות אין סופיות. זה סוג של לולאה iterates אינסופי יכול להיות מופרע רק עם `הפסקה` או` לחזור` הצהרות. הם סוכר תחבירי עבור `בזמן נכון לעשות ... לולאות od`.
- עם טבלאות, 'stats.minmax' בעבר עבד רק עם מערכים. ערך זה השתנה, כלומר ערכים עם מקשים לא חיוביים מקבילים (למשל מחרוזות, מספרים שלמים לא חיוביים, צפים שליליים וחיוביים וכו ') מוכרים כעת כראוי בהערכה.
- `stats.mean`,` stats.qmean`, `stats.sd` ו-` stats.var` מעבדים כעת גם רצפים.
- הפונקציה `stats.mode` החדשה מחזירה את כל הערכים ברצף או בטבלה עם המספר הגדול ביותר של התרחשות, כלומר התדירות הגבוהה ביותר.
- הפונקציה 'stats.quartiles' החדשה מחזירה את הרביע הראשון, השני והשלישי של טבלה או רצף _sorted_.
- נוספו עוד תכונות לא מתועדות של `linalg.matrix` למדריך וטיפול השגיאה שלו השתפר.
- טיפול משופר בשגיאות של linalg.hilbert`.
- `gdi.setinfo` מקבל כעת את האפשרות` square`. אם 'square = false', אז לצירים x ו- y לא יהיה אותו קנה מידה על מגרשים שנוצרו עם 'gdi.plot'.
- הפונקציה `gdi.plot` לצייר גרפיקה לצערי לא תועד. זה השתנה.
- `gdi.plot` מקבל שתי אפשרויות חדשות: האפשרות 'x' מציינת את הטווח האופקי שעליו מוצגת העלילה, והאפשרות 'y' מציינת טווח אנכי.
- אם מבנה PLOT מועבר ל- gdi.plot הכולל רק נקודות, קווים, מלבנים, משולשים, מעגלים, ו ELLIPSE (כולל גרסאות מילוי שלהם), ואז gdi.plot `קובע באופן אוטומטי את המאזניים (` gdi.setinfo` לא בהכרח צריך להיקרא).
- תכונות OOP בירושה מ Lua מתועדים כעת בנספח A9. המחבר אינו ממליץ על תכנות מונחה עצמים.
- כוונון:
- מפעיל 'מלא` מכוון בסביבות 3%.
- Tweaked `in`,` `הצטרף``,` sadd`, `qadd`,` החלף`, `עותק`,` ייחודי`, קנטור להגדיר מפעילי על שולחנות וקובע קצת.
- עם הטבלאות, האופרטורים 'למעלה' ו- 'bottom' נמצאים כעת בסביבות 5% מהר יותר.
- האופרטור `size` הוא לפחות 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`. זה השתנה.
- החבילה פרקטלים לא הקצה שמות קצרים עבור פונקציות של סוג מוגדר משתמש "esctime". זה השתנה. הודעת שגיאה מתוקנת של 'fractals.draw` אם ארגומנטים מיקומיים אינם מספרים.
- שונות:
- הפונקציונליות של `calc.fseq` מוזגה לתוך` nseq`. עבור תאימות לאחור, 'calc.fseq` עדיין חלק מהחבילה הסופית, אבל הפונקציה מתייחסת למעשה ליישום `nseq`.
- הוסיף את המשתנה `environ.FractScreenUpdates` לחבילה` פרקטלים` כדי לציין את מספר הקווים האנכיים (מספר שלם שלילי), ולאחר מכן פרקטל יעודכן בחלון. המשתנה 'environ.FractOptimised` הוצא משימוש.
- פונקציות gdi נוספות הוקמו מחדש.
- תיקונים ל- `instr`:
- כאשר במצב regex, המפעיל החזיר תוצאה שגויה אם ניתן מיקום התחלה.
- כאשר במצב חיפוש רגיל, המפעיל החזיר שגיאה מחוץ לטווח אם לא ניתנה עמדת התחלה.
- למעט במצב חיפוש הפוך, אם לא נמצאה התאמה, הארגומנט הראשון הוחזר במקום `null`.
- הודעת שגיאה מתוקנת של ההצהרה `create` ביחס לרצפים.
- ב AgenaEdit, כאשר פלט יותר ממבנה אחד עם קריאה אחת בלבד כדי `להדפיס`, מבנים לא הודפסו בצורה מלאה אם המבנה הראשון כלל מטאמידה __tostring. זה השתנה.
- מהדורה זו כוללת תיקוני באגים, תוספים ומדריך משופר:
- `dimension` יצר תוצאות מעניינות אם המבנה עבר בתור
- אתחול. זה השתנה: `ממד` יוצר עכשיו עותקים עצמאיים של
- בעת האתחול של הטבלה.
- הפונקציונליות של `strings.rseek` נוספה למפעיל` instr`.
- לכן, 'strings.rseek` הופסק. לקבלת תאימות לאחור,
- `strings.rseek` נוסף לקובץ lib / compat.agn.
- `strings.hits` תומך כעת בביטויים רגילים וללכידות. התנהגות זו
- ניתן לכבות על ידי העברת בוליאני כארגומנט שלישי.
- `strings.isabbrev` ו-` strings.isending` משתמשים כעת באופן אוטומטי בחיפוש רגיל
- אם לא בוצעו ביטויים או לוכדים רגילים כחלק מהשניה
- ארגומנט.
- Tweaked `strings.ismagic` ו-` strings.isfloat`.
- הפונקציה 'log' כעת גבוהה ב -13%.
- בעת הפקת יותר ממבנה אחד עם קריאה אחת בלבד ל - print,
- מבנים לא הודפסו בצורה מלאה אם המבנה הראשון כלל __tostring
- metamethod. זה השתנה.
- קטגוריזציה נוספת של פונקציות לפרק 7 כדי להקל על ההתחלה עבור חדש
- משתמשים.
- היו בעיות עם שיחות מקוננות למפעילים הבינאריים הבאים: 'xor`, `atendof`,` & amp; `,` || `, ^ ^` `,` :: `ו-`: - `, וכך גם עם מדפסת יפה אשר להיסגר עם שגיאה בעת הדפסת מבנים מקוננות. זה תוקן.
- ארבעה תיקונים ל 'os.list`: אם האפשרות' r 'עברה, ספריית העבודה הנוכחית השתנתה בטעות לאחר השלמת השיחה.
- אם 'r' לא הועבר כארגומנט האחרון, הפונקציה פרסמה שגיאה.
- `null` לא התקבל כארגומנט הראשון לציון הספריה הנוכחית.
- ב- Windows 7, הדפסת התוכן של ספריית הבסיס לא פעלה, כלומר os.list ('c:') החזיר את התוכן של ספריית העבודה הנוכחית.
- כאשר מחרוזת נוספה לאינדקס עם מספר לא. "str [null]", החזירה אגנה `null`. עכשיו עולה שגיאה.
- אם library.agn לא נמצא הנתיב הלא נכון כבר פלט פעמיים באזהרה. זה השתנה.
- מפעיל מחרוזת עוצבה מחדש אך הגרסה הישנה עדיין תהיה זמינה עד אגנה 2.0: לחדשה הוא: `str [משמאל לימין] ', לישנה כבר:' $ str (שמאל, ימין)` . דוגמה: לפני: `str: = 'string'; (str $ (2, 3)) - & gt; 'tr' now: `str: = 'string'; (str [2 to 3]) - & gt; 'tr'
- באפשרותך כעת לקבוע רשימות משנה של מערכי טבלה ורצפים עם התחביר החדש שהוזכר לעיל: '[משמאל לימין] `. דוגמה: עכשיו: 'a: = [10, 20, 30, 40]; הדפס ([2 עד 3]) - & gt; [20, 30] עכשיו: `a = = seq (10, 20, 30, 40); הדפס ([2 עד 3]) - & gt; seq (20, 30)
- הפונקציה `ops` מאפשרת כעת לציין את הערכים שיש להחזיר על ידי העברת רצף של מיקומי האינדקס שלהם כארגומנט הראשון שלה, למשל. ops (seq (1, -1), 10, 20,
- 30).
- הפונקציה `strings.include` החדשה מכניסה רצף תווים למחרוזת
- במיקום נתון.
- הפונקציות הבאות מוציאות כעת שגיאה במקום רק לחזור 'נכשל' ב
- במקרה של כישלון:. 'Os.remove`, `os.move`,` os.mkdir`, `os.rmdir`,` os.chdir`
- שיפורים למפעילים הבאים שעובדים על סטים ורצפים בנושא איסוף אשפה: הצהרת `הכנס`,` איחוד`, `צומת`,` מינוס`, `ייחודי`,` העתקה`, `פופ / עליון` ו 'pop / bottom`, ולהגדיר מטלות.
- הודעת שגיאה משופרת של 'fractals.draw` אם קובץ מפת הצבעים של FRACTINT אינו
- לא נמצא.
- גרסה זו כוללת פונקציונליות חדשה ומרחב שמות נקי.
- תאימות ל- Agena 1.0:
- חלק מהפונקציות הוסרו מ- Agena וחלקן הוסבו לפונקציות החבילה (ראה להלן). אם אתה עדיין רוצה להשתמש בהם, בעיה readlib 'תאימות' בשורת הפקודה או לשים את ההצהרה לעיל לתוך קובץ האתחול שלך אם אתה מעדיף תאימות לאחור כדי Agena 1.0.
- פונקציונליות מורחבת:
- ניתן כעת להחיל את אופרטורי ה- pop / top ו- `pop / bottom` ו-` bottom` ו- `top` על מערכי טבלה.
- כאשר מתקשרים עם `null` או ללא ארגומנטים, 'os.chdir` אינו מטעה עוד, אלא מחזיר את ספריית העבודה הנוכחית. לפיכך, הפונקציה לשעבר 'occirir` הוחלפה על ידי אחד שנכתב בשפה של Agena.
- `os.list` עובר כעת רקורסיבית בתת-תיקיות אם האפשרות 'r' החדשה ניתנת.
- האופרטור `join` מקבל כעת גם מעתיק אופציונלי ותומך באפשרות לציין את האלמנט הראשון והאחרון של המבנה שיש לשרשר.
- `instr` יכול כעת לחפש מהקצה הימני של מחרוזת על ידי מעבר של מיקום שלילי.
- אם טבלה כוללת טבלאות, קבוצות, רצפים או זוגות אחרים, 'העתקה' יודעת כעת כיצד לטפל בהפניות אלה כראוי אם הן מתרחשות מספר פעמים: אם מבנה מוטבע נכלל n פעמים, n-1 הפניות למבנה החדש שנוצר הם מוכנסים. לפני כן, נעשו עותקים בלתי תלויים.
- הפונקציה `isnonposint` החדשה בודקת אם המספרים הנתונים הם כל מספרים שלמים ולא חיוביים.
- `io.close` יכול כעת לסגור מספר קבצים עם שיחה אחת בלבד.
- הפונקציה `with` לא הקצה שמות קצרים עבור ההליכים הבאים של חבילת 'מתמטיקה': 'convertbase`,` fraction`, `zeroin`,` todecimal`, `lcm`,` gcd `ו-` ndigits `. זה תוקן.
- הפונקציה 'rwritemode' המוזכרת במדריך לא הייתה קיימת. זה זמין כעת, אבל נקרא 'rmode'.
- השתפרו הודעות שגיאה של פונקציות שונות.
- ניקוי מרחב שם: שינו שם או פונקציות שהועברו:
- הפונקציות הבסיסיות 'register' ו- `loadclib` הועברו לספריית` package`.
- "rdelete" לשעבר, `rget`,` rinit`, `rinit`,` rmode`, `rset`,` זוכר` ו`ברירות מחדל` של פונקציות הספרייה הועברו לחבילה החדשה `rtable` .
- שמם את הטבלה הגלובלית _Env ל- `environ` אשר כעת מכיל גם נהלים לגישה לסביבה.
- המשתנים הסביבתיים 'homedir' ו- `infolevel` לשעבר השתנו ל- 'environ.homedir` ו-' environ.infolevel`, בהתאמה.
- הפונקציות הקודמות של ספריית הבסיס הקודמת הועברו לחבילה `environ`:` anames`, `attrib`,` gc`, `getfenv`,` globals`, `isselfref`,` pointer`, `setfenv` , `` `` `` `,` `,
- `Mapm.xtoNumber` שונה לשם 'mapm.xtonumber`,` mapm.xtoString` שונה ל- `mapm.xtostring`. עבור תאימות לאחור, עדיין ניתן להשתמש בשמות הפונקציות הישנות על-ידי ביצוע קובץ lib / compat.agn (תחילה readlib את חבילת `Mapm` ולאחר מכן לטעון את הקובץ compat.agn).
- פונקציות ומשתנים שהוצאו משימוש:
- `strings.seek` הוצא משימוש. הפונקציונליות שלו נוספה למפעיל `instr`. כדי לכבות את מצב ההתאמה של תבנית `instr`, העבר את ההתחלה של החיפוש כגירסה השלישית ו-` true` כארגומנט הרביעי. `instr` הוא כ -40% מהר יותר במצב אי התאמה של תבנית מאשר 'strings.seek`. עבור תאימות לאחור, 'strings.seek' נוסף לקובץ lib / compat.agn.
- הפונקציה 'ספריית בסיס' concat `הוסרה. במקום זאת, השתמש ב- `join`. עבור תאימות לאחור, הפונקציה הקודמת נוספה לקובץ lib / compat.agn.
- הפונקציות `hasrtable` ו-` 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.Cpu במקום, אשר גם מאיץ את הקוד. עבור תאימות לאחור, הפונקציות נוספו לקובץ lib / compat.agn.
- המשתנה _VERSION לא מתועד הוסר. עבור תאימות לאחור, המשימה שלו נוספה לקובץ lib / compat.agn.
- שינויים אחרים:
- פונקציית C API lua_rawsetstringnumber המוזכרת במדריך לא הייתה קיימת. זה השתנה.
- אופטימיזציות קוד למנתח.
- בחלק מהחבילות, בטעות מספר משתנים הוכתרו במרומז העולמי. זה תוקן.
- תיקוני דוגמה לאתחול ועדכון.
- AgenaEdit עודכן.
- קובצי ערכת השפה עודכנו.
- מתקיני לינוקס כוללים כעת את החבילה xBase.
- הודעות שגיאה משופרות של אופרטורים 'הצטרפות', `העתקה` ו`מילוי`, של פונקציות 'toset`,` toseq `ו-` totable`, של `insert`,` delete`, `pop`, ו 'ל' לולאות.
- עם רצפים, התרסקה אגנה ברצף האירועים הבא: 1) הוצא משפט 'מחיקה', 2) הרצף שהיה לאחר מכן ריק, ו -3) הוכנס אלמנט חדש. זה תוקן. (פנימי, ההצהרה `מחק` כבר לא מפחיתה את גודל הרצפים.)
- עם מיתרים גדולים, 'התרסקות' התרסק. זה תוקן.
- עם מחרוזות של 512 בתים נוספים, 'הצטרף' ו'חלף 'עלול לקרוס. זה תוקן. שני המפעילים כיום גם הרבה יותר מהר מאי פעם.
- `math.isprime` החזיר תוצאות שגויות עם ארגומנטים & gt; 2 ^ 31 (המוזכר במעורפל במדריך). זה תוקן על ידי הארכת טווח הארגומנטים לשווים שלמים עם ערכים עד +/- 2 ^ 63.
- `math.nextprime` ו-` math.prevprime` היו בעלי אותה בעיה עם טיעונים גדולים יותר כגון 'math.isprime`. גם זה השתנה. עם ארגומנט 2, 'io.nextprime` חזר באופן שקר 5 במקום 3. זה תוקן גם כן.
- `join` יכול לקרוס את Agena ולפעול אחרת באופן בלתי צפוי אם המחרוזת המתקבלת
- עלה על 512 בתים. זה השתנה.
- אם נקרא 'הפעלה מחדש' לאחר הופעת שגיאה בקובץ הקודם
- הצהרה, אגנה במקרים נדירים התרסק בגלל ערימת שחיתות. זה כבר
- קבוע.
- עם טבלאות שנוצרו לאחרונה המכילות רק אלמנט אחד בחלק החשיש, 'attrib`
- מחזירה כעת תוצאות נכונות עבור מספר חריצי ה- Hash שהוקצו (1 במקום 0).
- הודעות שגיאה מתוקנות של `qsadd` ו-` sadd`.
- הודעות שגיאה משופרות של אופרטורים 'join`, `copy` ו-` fill`, וכן של `insert`
- ו- `delete`.
- טיפול משגיח ב- `read`,` save` ו- `fractals.draw` השתפר.
- שיפורים ב- makefiles.
- גודלי המאגר נקבעו כעת במקורות.
- מאחר שקריסות נדירות דווחו במהלך האתחול (ב- Windows XP SP 3 וב- OpenSolaris 134, במקרים מסוימים), איסוף האשפה כבוי כעת בשלב האתחול. תקלות פילוח נדירות אלה התרחשו ב- OpenSolaris בעת הפעלת הבינארי של Agena בספריית ה- hboring שלה, וב- XP בעת לחיצה על סמל שולחן העבודה של Agena עם זכויות מנהל מקומיות.
- הציג את -d עבור אפשרויות שורת הפקודה כדי להדפיס מידע במהלך אתחול של Agena.
- הציג טיפול שגיאות תקין אם לא ניתן להקצות זיכרון פנימי ל: `trim`,` top```, `` `` `` `` ``,
- דליפות זיכרון פוטנציאליות שהוסרו בהפעלה הראשונית של C מתפקדות ב- agenaL_initialise ו- agenaL_setLibname וב- io.write * ו- `print`.
- הפונקציה החדשה `להגן` קוראת לפרוצדורה במצב מוגן ותופסת כל שגיאה אפשרית, כך שהחישוב לא יופרע. במקרה של שגיאה, הוא מגדיר את מחרוזת השגיאה למשתנה הגלובלי `lasterror`. הוא קשור ל- `PCALL`, אך אינו מחזיר את קוד הסטטוס לתוצאה הראשונה.
- `attrib` מחזירה כעת תוצאות נכונות במבנים ריקים. עם מבנים ריקים, פונקציה שגויה נחשב אחד אלמנט המוקצה hash לפני.
- `attrib` מחזירה כעת את מספר הבתים שנכבשו על-ידי טבלאות, קבוצות ורצפים יחד עם מפתח 'בתים' החדש. מספר הבתים שחזרו מבוסס על מידע סותר לפעמים על הרשת.
- `החלף` קרס את Agena אם המחרוזת שהתקבלה עלתה על 512 בתים. זה השתנה.
- `להניח` מחזירה כעת את 'ההנחה נכשלה'. במקום שההנחה נכשלה.
- הפונקציה החדשה C API lua_setglobal2 קובעת את הערך בחלק העליון של הערימה לשם גלובלי. בניגוד ל lua_setglobal, הערך לא popped.
- ניקוי קוד של lobject.h (מבנה טבלה), ו lapi.c (actnodesize מאקרו). Bugfix ל- C API פונקציה agn_deletertable למקרה אגנה הוא הידור עם lua_assert לא הריק. שנה לערך ההחזרה של הפונקציה savestate המשמשת במהלך האתחול כדי למנוע את האפשרות (קלה) של ערימת שחיתות.
- ההליך החדש `os.setenv` מגדיר משתני סביבה ברמת מערכת ההפעלה. הפונקציה נכתבה במקור על ידי מארק אדגר.
- ב- Windows, `os.getenv` מתקשר כעת לפונקציית API של Windows כדי לקבל את הערכים של משתני סביבה. קוד Windows נכתב על ידי מארק אדגר.
- הפונקציה החדשה `os.environ` מחזירה את כל משתני הסביבה שהוקצו לטבלה. הפונקציה נכתבה במקור על ידי מארק אדגר.
- `io.open` מוסיף כעת את מצביע ה- FILE, את השם ואת המצב של קובץ שנפתח בהצלחה בטבלה החדשה` io.openfiles`. `io.close` מוחקת את הערך מ-` io.openfiles` אם הקובץ יכול להיסגר בהצלחה.
- כאשר מתקשרים ללא ארגומנטים, 'io.read` מחזירה כעת שגיאה אם היא נקראת ללא ארגומנטים ב- AgenaEdit (בניסיון לקרוא את המקלדת).
- אם קוראים 'io.anykey' ו- `io.getkey` ב- AgenaEdit, מוצגת הודעת שגיאה תקינה.
- אחד מהתת-התהליכים של האתחול השתנה כדי למנוע שחסלות אפשרית של ערימה (אם כי מעולם לא התרחשו בעיות).
- os.isMac ('ppc') עובד כעת על מכונות PowerPC.
- פרקים 4 ו 6 של פריימר הפניה עודכנו ו המורחבת. מדד נוסף והרבה קוסמטיקה נעשו גם כן.
- פרטי גירסה נכונה המאוחסנים בהפעלה של Windows.
- גבירותי ורבותי היקרים,
- אחרי כמעט ארבע שנים של פיתוח, פרסמתי את Agena 1.0, שפת תכנות פרוצדורלית, הנגזרת ממקורות Lua C.
- הקהילה שלי למעשה היא קטנה מאוד, אבל כמה משתמשים אמרו לי שזה בסדר, שימושי ויציב.
- אני אשמח מאוד אם תסקור את אגנה ותודיע לי על התוצאות שלך. אם אתה לא מוצא את זה שימושי, בבקשה תגיד לי באופן אישי, ולתת לי הזדמנות לתקן את הבעיות.
- גירסה זו כוללת גירסת GUI מעודכנת של AgenaEdit (ראה קובץ הפעלה agenaedit).
- AgenaEdit עם הדגשת תחביר ומנוע זמן ריצה מובנה שוחרר עם Agena 0.34.1.
- AgenaEdit עם הדגשת תחביר ומנוע זמן ריצה מובנה שוחרר עם אגנה 0.34.0.
- אגנה 0.33.2 עם תמיכה בקובץ xBase שוחרר.
- Agena 0.33.1 עם תמיכה בקובץ xBase שוחרר.
- החבילה החדשה xbase יכולה לקרוא ולכתוב קבצי xBase התואמים את תקן dBASE III.
- חבילות 'binio` ו- `ads` יכולות כעת לטפל בקבצים של עד 2 ^ 63 בתים. לפני שהם יכלו לטפל רק בקבצים עם גודל של עד 2 ^ 31 בתים.
- הפונקציות החדשות io.lock., `io.unlock`,` binio.lock`, `binio.unlock`,` ads.lock` ו- `ads.unlock` נעולות קובץ מגישה לקריאה ולכתיבה על ידי אחר אגנה
- פונקציות או אפילו יישומים אחרים בתנאי שהאחרון משתמש בפרוטוקול נעילה.
- הפונקציה baselib `read` לא יכולה עוד להיות מוחלפת על ידי` with`.
- 'package.checkClib' החדש בודק אם אותרה חבילה המאוחסנת בספריה דינמית C. אם לא, הוא מחזיר אזהרה מודפסת על המסך ויוצר שולחן חבילה ריק. אחרת זה לא עושה כלום
- נמל Haiku תומך כעת בספריות קישורים דינמיות.
- אגנה 0.32.3 עם פונקציות מחשוב חדשות ומכוונות פורסמו.
- משתמשי Mac אינם צריכים עוד להתקין ספריות תלות נוספות.
- נמל הייקו זמין כעת.
- גרסה זו מכילה גרפיקה מובנית, מתמטיקה מדויקת שרירותית ותכונות משופרות.
- הוסיף את החבילה פרקטלים בקלות לצייר פרקטלים ב- Solaris, Mac, Linux ו- Windows.
- ב- Solaris ו- Linux, 'gdi.mouse' מחזיר כעת ערכים סטנדרטיים ללחצני עכבר לחוצים (בדומה למהדורות Mac ו- Windows).
- כאשר ניתנת האפשרות -v, Agena אינה מבצעת כעת את קובצי האתחול.
- ב- UNIX או Mac, שמות הקבצים של קובצי האתחול חייבים להיות תמיד '.ageainit`, בין אם הם נמצאים ב- / usr / agena / lib או בתיקייה האישית.
- ההפצה Mac הבינארי עבור מעבדי Intel רץ סביב 30% מהר יותר מאשר משחרר הקודם.
- הפונקציה `io.getkey` זמינה כעת במהדורת Mac OS X.
- ב- Mac, 'os.system' מחזיר כעת מידע מלא על מערכת ההפעלה וסוג ה- CPU. שים לב שהוא מחזיר מידע על הקרנל של דרווין, וכי הערך הראשון בטבלה המתקבלת כעת הוא 'דרווין' במקום 'MacOSX`.
- `os.memstate`,` os.freemem` ו- `os.beep` תומכים כעת ב- Mac OS X.
- `io.anykey` זמין בכל הפלטפורמות, אך חוזר` נכשל` ב- 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).
- `utilscalendar` התרסק על אגנה אם טיעונה היה ריק, שלילי או גדול מדי. זה השתנה. בנוסף, אם תאריך הוא מעבר ליום שלישי, 19 בינואר, 2038, התאריך הנכון מוחזר.
- הפונקציות החדשות 'os.screensize` ו- `os.mousebuttons` מחזירות את רזולוציית המסך הנוכחית ואת מספר הלחצנים של העכבר המצורף, בהתאמה (Windows בלבד).
- השם של הקובץ agena.ini.sample שונה ל- .agenainit.sample בהפצות UNIX / Mac.
- חדש makefile עבור Solaris כעת נשלחת עם Mapm Agena מחייב במלואו ללקט את המקור מקורות MAPM נכתב על ידי מייקל C. טבעת.
- חבילת MapM לדיוק במתמטיקה של arbitray זמינה כעת גם במהדורת DOS של Agena.
- מספר הספרות המשמשות את חבילת Mapm הוא אותחל ל -17 ספרות בעת ההפעלה של Agena עבור DOS או OS / 2 Warp. לפני כן, ברירת המחדל הייתה 1 ספרות.
- קוד ה- C עבור הכריכה של MAPM תוקן. לפני, DOS ו OS / 2 קבצי המקור שונים מזו של UNIX ו- Windows.
- שיפורים קטנים לתקיני Windows ו- Mac OS X.
- ב- Mac, התיעוד זמין כעת ב- Library / Documentation / Agena במקום ב- / Users / Share / Agena.
- החטא, cos, arcsin, arccos, ו arctan פונקציות חזר 0 במקום 0 כמו יחידת דמיוני, אשר הובילה לתוצאות שגויות אם החזרת פונקציות אלה יושמו על פונקציות אחרות כגון ln (כלומר סימן של היחידה הדמיונית של התוצאה של פונקציות אחרות אלה היה שגוי). זה תוקן על ידי הגדרת יחידה דמיונית -0 עד 0 בחזרת החטא, cos, arcsin, arccos, ו arctan.
- פונקציות arcsin ו- arccos החזירו תוצאות שגויות עבור ארגומנטים z, אם ABS (אמיתי ((z))) & lt; 1. זה תוקן.
- ב- OS / 2, הפונקציות האריתמטיות המורכבות ביותר חזרו לא מוגדר. זה תוקן.
- שים לב שב- OS / 2 ו- DOS, בתחום המורכב, עדיין יש בעיות עם המפעילים של arccos ו- arcsin החוזרים לא מוגדרים במצבים מסוימים.
- הגירסאות של 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 כולל את כל הכלים הבסיסיים כדי לתכנן נקודות, קווים, עיגולים, אליפסות, מלבנים, קשתות. וכו ', כדי לשלוט על גודל התמונה, והצבעים.
- שחרור עקביות לשפה עם תיקון באגים - שוחרר. עיין ביומן השינויים עבור מה השתנה.
- Agena כולל כעת גרפיקה מובנית. זה יאפשר לך לשרטט גרפים, תמונות וכו 'בחלונות X11 או Win32 או קבצי GIF, PNG, JPEG, FIG או PostScript, הן ב- Solaris, ב- Linux וב- Windows. אגנה נקשרת לספרייה הגרפית G2 שנכתבה על ידי Ljubomir Milanovic ו Horst Wagner, כדי לספק את היכולות החדשות.
- אגנה 0.30 כוללת את כל הכלים הבסיסיים לשרטוט נקודות, קווים, עיגולים, אליפסות, מלבנים, קשתות. וכו ', כדי לשלוט על גודל התמונה, והצבעים.
- & gt; עם 'gdi';
- חבילת gdi v0.1.4 נכון ל -20 בדצמבר 2009
- arcfilled, רקע, מעגל, מעגל, סגול, חתוך, אליפסה, ellipsefilled, סומק, פונטסיז, initpalette, דיו, אחרון, קו, חדש, חדש, פתוח, מגרש, plotfn, נקודה, מלבן, מלבן , resetpalette, setinfo, setoptions, מבנה, טקסט, עובי, משולש, trianglefilled, useink
- הפונקציה plotfn שואבת גרף אחד או יותר של פונקציות בממשי אחד, אופציונלי יחד עם הצירים זממו בצבע מוגדר על ידי המשתמש. הטווח של ציר y יכול גם להינתן, אחרת אגנה קובעת את ההגדרה הטובה ביותר. ישנן אפשרויות שונות אחרות אשר ניתן להגדיר עם פונקציה setupoptions אשר יחולו על כל הגרפים המיוצרים בפגישה: את רזולוציית החלון, את מפת הצבע, עובי הקו, צבע הרקע. כמובן, המשתמש עשוי לעקוף חלק או את כל האפשרויות עבור מגרש מסוים. סינגולריות מטופלות כראוי.
- גרסה 0.30.3 של Agena עם גרפיקה מובנית, מתמטיקה מדויקת של שרירות ותכונות משופרות.
- Agena כולל כעת גרפיקה מובנית. זה יאפשר לך לשרטט גרפים, תמונות וכו 'בחלונות X11 או Win32 או קבצי GIF, PNG, JPEG, FIG או PostScript, הן ב- Solaris, ב- Linux וב- Windows. אגנה נקשרת לספרייה הגרפית G2 שנכתבה על ידי Ljubomir Milanovic ו Horst Wagner, כדי לספק את היכולות החדשות.
- אגנה 0.30 כוללת את כל הכלים הבסיסיים לשרטוט נקודות, קווים, עיגולים, אליפסות, מלבנים, קשתות. וכו ', כדי לשלוט על גודל התמונה, והצבעים.
- & gt; עם 'gdi';
- חבילת gdi v0.1.4 נכון ל -20 בדצמבר 2009
- arcfilled, רקע, מעגל, מעגל, סגול, חתוך, אליפסה, ellipsefilled, סומק, פונטסיז, initpalette, דיו, אחרון, קו, חדש, חדש, פתוח, מגרש, plotfn, נקודה, מלבן, מלבן , resetpalette, setinfo, setoptions, מבנה, טקסט, עובי, משולש, trianglefilled, useink
- הפונקציה plotfn שואבת גרף אחד או יותר של פונקציות בממשי אחד, אופציונלי יחד עם הצירים זממו בצבע מוגדר על ידי המשתמש. הטווח של ציר y יכול גם להינתן, אחרת אגנה קובעת את ההגדרה הטובה ביותר. ישנן אפשרויות שונות אחרות אשר ניתן להגדיר עם פונקציה setupoptions אשר יחולו על כל הגרפים המיוצרים בפגישה: את רזולוציית החלון, את מפת הצבע, עובי הקו, צבע הרקע. כמובן, המשתמש עשוי לעקוף חלק או את כל האפשרויות עבור מגרש מסוים. סינגולריות מטופלות כראוי.
- Agena כולל כעת גרפיקה מובנית. זה יאפשר לך לשרטט גרפים, תמונות וכו 'בחלון או לקובץ GIF, PNG, JPEG, FIG או PostScript ב- Solaris, Linux ו- Windows, על ידי הוספת קישור לספריה הגרפית G2 שנכתבה על ידי Ljubomir Milanovic ואת הורסט וגנר.
- אגנה 0.29.0 כולל את כל הכלים הבסיסיים כדי לתכנן נקודות, קווים, עיגולים, אליפסות, מלבנים, קשתות. וכו ', כדי לנהל צבע, וליצור קבצי תמונה או לפתוח X11 או Windows32.
- באחד העדכונים הבאים, ממשק משתמש ברמה גבוהה שמציעה את הפונקציות gdi.plotfn ו- gdi.plot מאפשר לך לתכנן פונקציות חד-משתנות ומספר נקודות על-פני. שתי הפונקציות כבר כלולים באגנה 0.29.0, אבל עדיין בטא. הנה תצוגה מקדימה:
- & gt; עם 'gdi';
- חבילת gdi v0.1.0 נכון ל -24 בנובמבר 2009
- arc, רקע, מעגל, clearpalette, קרוב, מקף, אליפסה, מלא ארק, fullCircle, מילוי מלא, מילוי מלא,
- מילוי, סומק, גופנים, initpalette, דיו, אחרון, קו, פתוח, מגרש, plotfn, נקודה, מלבן, לאפס,
- resetpalette, setinfo, setoptions, מבנה, טקסט, עובי, משולש, useink
- הפונקציה plotfn שואבת את הגרף של פונקציה אחת אמיתי, אופציונלי יחד עם הצירים זממו בצבע מוגדר על ידי המשתמש. טווח עבור ציר y יכול גם להינתן, אחרת Agena מנסה לקבוע את ההגדרה הטובה ביותר. ישנן אפשרויות שונות אחרות אשר ניתן להגדיר עם פונקציה setupoptions אשר יחולו על כל הגרפים המיוצרים בפגישה: את רזולוציית החלון, את מפת הצבע, עובי הקו, צבע הרקע. כמובן, המשתמש עשוי לעקוף חלק או את כל האפשרויות עבור מגרש מסוים. סינגולריות מטופלות כראוי.
- plotfn (x) * x & gt; & gt ;, -5, 5, color ~ 'blue', axiscolour ~ 'אפור', res ~ 640: 480);
- הפונקציה החדשה toSet baselib ממירה מחרוזת לקבוצת התווים שלה, וטבלה או רצף לתוך קבוצה.
- io.readlines תוקן כדי לעבד שורות עם יותר מ -2048 תווים. הפונקציה עכשיו גם בעיה שגיאה אם הקצאת זיכרון פנימי נכשל. גודל חיץ פנימי ירד מ 2048 בתים ל 512 בתים. תוכל לשנות זאת על ידי הקצאת ערך נוסף ל- AGN_IOREADLINES_MAXLINESIZE בקובץ agnconf.h.
- io.readlines מקבל כעת גם ידיות של קבצים. בעת שימוש בקובצי קבצים, בניגוד לשמות קבצים, שים לב שעליך לסגור את הקובץ באופן ידני לאחר שימוש ב- io.readlines.
- io.readlines לא מחזירה עוד טבלה ריקה אם הקובץ אינו קיים. במקום זאת, הוא מטעה שגיאה.
- toSeq מחזיר כעת שגיאה במקום להיכשל אם היא אינה מקבלת מחרוזת, קבוצה או טבלה.
- הפונקציה baslib בשימוש מורחבת ויכולה להחזיר שימוש בזיכרון בבתים, kbytes ו- gbytes. זה פונקציה C עכשיו.
- הפונקציה gcinfo לא מתועדת נמחקה. הפונקציונליות שלו נלקחה על ידי בשימוש.
- הפונקציה החדשה cn agn_usedbytes מחזירה את מספר הבתים המשמשים את המערכת.
- הודעת השגיאה שגויה של toTable.
- שינוי שם של פונקציית C AOI 'agn_isioforcerror` ל- `agn_isioforceerror`.
- נוסף את פונקציית השגיאה math.erf ואת פונקציית השגיאה המשלימה math.erfc.
- הוסיף את פונקציית Bessel של math.besselj סוג הראשון, ואת הפונקציה Bessel של המתמטיקה סוג השני. ההזמנה ניתנת על ידי הטיעון הראשון, הוויכוח כארגומנט השני.
- אם משתנה הסביבה החדש _EnvIoForceError מוגדר לערך שאינו ריק (ברירת המחדל), הפונקציות io.open, io.readlines ופונקציות binio השונות מתפטרות עם שגיאה במקום לחזור רק כרגיל.
- binio.readbytes ו- binio.readchar החזיר רצף ריק במקום להיכשל במקרה שהקובץ לקריאה לא קיים. זה השתנה: נכשל או שגיאה מוחזרת כעת.
- arcsin ו- arccos הם כיום אופרטורים ולכן בסביבות 40% מהר יותר.
- הוסיף את האופרטור xor אשר מבצע בוליאני בלעדי-OR על ערכים אשר להעריך או נכון, שקר, להיכשל, ריק.
- נוסף את מפעיל atendof אשר בודק אם מילה מסתיימת בביטוי נתון ומחזירה את מיקומה כמספר. המפעיל מחזיר null אם המיתרים בעלי אורך זהה, לפחות אחד מהם הוא מחרוזת ריקה, או שהמילה אינה מסתיימת בתבנית הנתונה.
- hasrtable עכשיו רק מחזירה נכון, אם יש לו טבלה זוכר זוכר (מעודכן על ידי ההצהרה לחזור).
- הפונקציה החדשה hasrotable קובעת אם לפונקציה יש טבלת זיכרונות לקריאה בלבד (שלא ניתן לעדכן בהצהרת החזרה) ומחזירה true או false.
- המפעילים החדשים gethigh ו- getlow מאחזרים את הבתים הגבוהים והתחתונים ממספר (כלומר, C כפול).
- המפעילים החדשים יתיישבו ויגדירו את ה- setlow את הבתים הגבוהים והקטנים למספר (כלומר, C כפול).
- מפעילי המפעילים החדשים, bor, bxor ו- bnot מבצעים פעולות סיביות ו / או בלעדיות או משלימות במספרים.
- הפונקציה החדשה `kernel` מגדירה את ההגדרות של הקרנל של Agena. בשלב זה הוא יכול לשנות את האופן שבו מפעילי הסיביות פועלים באופן פנימי (שימוש במספרים שלמים חתומים או לא חתומים), וכיצד מודפסים מספרים.
- עם מספרים x, math.argument מחזירה כעת את pi במקום 0 אם x & lt; 0.
- בגלל באג בפונקציות ANSI C של הספרייה הבסיסית, arcsin ו- arccos הניבו תוצאות שגויות עם מספרים מורכבים אם החלק הדמיוני שלהם היה אפס במערכות UNIX. זה תוקן.
- math.isPrime דיווח על שקר במספר 2. זה תוקן.
- לעומת המדריך, ABS חזר 2 עם להיכשל. כעת הוא חוזר כמתועד.
- חבילת הביטים הוסרה.
- נוסף את הפונקציה החדשה cn agn_isioforcerror אשר בודקת אם _EnvIoForceError הוגדר לערך שאינו ריק.
- הפונקציה החדשה של ממשק API Cnn_network קובע את האפשרות ש- band band, bor, bnot, bxor ו- shift משנים פנימית עם מספרים שלמים חתומים או לא חתומים.
- הפונקציה החדשה C API מחזירה את המצב שנקבע על-ידי agn_setbitwise.
- הפונקציה agn_setdigits החדשה של C API קובעת את מספר הספרות המשמשות להדפסת מספרים.
- הפונקציה agn_getdigits החדשה של API C קובעת את מספר הספרות המשמשות להדפסת מספרים.
- פנימי: הוסר ערך "REPL" שהוצא משימוש מתוך luaP_opnames.
- תוכנית ההתקנה של Windows שופרה עד כה על-ידי בדיקת גירסה קודמת של Agena, על-ידי מניעת הפעלתו של המתקין אם מופע אחר שלו כבר פועל, וכן על-ידי שיפורים קטנים אחרים.
- Ncurses
- גנו לקריאה
מה חדש בגירסה 2.9.4:
מה חדש בגירסה 2.8.5:
מה חדש בגירסה 2.8.2:
מה חדש בגרסה 2.6.1:
מה חדש בגירסה 2.5.4:
מה חדש בגרסה 2.5.3:
מה חדש בגירסה 2.4.2:
מה חדש בגירסה 2.3.0 RC1:
מה חדש בגרסה 2.1.1:
מה חדש בגירסה 2.1.0:
מה חדש בגירסה 2.1.0 RC:
מה חדש בגירסה 2.0.0:
הפונקציה החדשה `drem` מעריכה את שארית מחלק שלם x / y, אך בניגוד ל-` irem`, מסובב את המשוואה הפנימית x / y למספר השלם הקרוב ביותר במקום אפס.
מה חדש בגירסה 2.0.0 RC3:
מה חדש בגירסה 2.0.0 RC2:
מה חדש בגירסה 2.0.0 RC1:
מה חדש בגרסה 1.12.9:
מה חדש בגירסה 1.9.0:
מה חדש בגירסה 1.6.0:
מה חדש בגירסה 1.5.1:
מה חדש בגירסה 1.5.0:
מה חדש בגרסה 1.4.2:
מה חדש בגרסה 1.4.1:
מה חדש בגירסה 1.4.0:
אם חלל לבן אחד עובר עם האפשרות 'delim` ואם האפשרות' חוסר שימוש 'לא ניתנה, רווחים לבנים אינם מוסרים באופן אוטומטי עוד לפני פיצול כל שורה של הקובץ לתוך דבריו.
מה חדש בגרסה 1.3.3:
מה חדש בגרסה 1.3.2:
מה חדש בגרסה 1.3.1:
מה חדש בגרסה 1.2:
מה חדש בגירסה 1.1.0:
מה חדש בגירסה 1.0.6:
מה חדש בגירסה 1.0.5:
מה חדש בגירסה 1.0.4:
מה חדש בגירסה 1.0.3:
מה חדש בגירסה 1.0.2:
מה חדש בגרסה 1.0:
מה חדש בגירסה 0.34.1d:
מה חדש בגירסה 0.34.1:
מה חדש בגירסה 0.34.0:
מה חדש בגירסה 0.33.2:
מה חדש בגירסה 0.33.1:
מה חדש בגירסה 0.33.0:
מה חדש בגירסה 0.32.3:
מה חדש בגירסה 0.31.5:
מה חדש בגירסה 0.31.3:
מה חדש בגירסה 0.31.2:
מה חדש בגירסה 0.31.1:
מה חדש בגירסה 0.31.0:
מה חדש בגירסה 0.30.4:
מה חדש בגירסה 0.30.3:
מה חדש בגירסה 0.30.2:
מה חדש בגרסה 0.29.0:
מה חדש בגירסה 0.27.2:
מה חדש בגירסה 0.27.0:
דרישות :
תגובות לא נמצא